Django从视图函数中调用另一个函数

时间:2013-12-23 21:07:26

标签: python django django-views

views.py这样的事情

def getFormValues(request):
if ('mobile_a' in request.GET and request.GET['mobile_a']) and ('mobile_b' in request.GET and request.GET['mobile_b']):
    mobile_a = request.GET['mobile_a']
    mobile_b =request.GET['mobile_b']
    # calling the mark calculation function
    return calculateMark(mobile_a, mobile_b)
else:
    message ='You submitted an empty form.'
    return HttpResponse(message)

这里我调用一个函数(calculateMark)来计算一个标记。在calculateMark函数的最后,我有类似的东西

if (tech_mark_a == 0 and tech_mark_b == 0):
    mobile_a_infos = TechSpecificationAdd.objects.filter(tech_variables)
    return render_to_response('degrees_result.html', {'mobile_a': tech_mark_a, 'mobile_b': mobile_b}, mobile_a_infos)

elif (tech_mark_a > 0 and tech_mark_b > 0):
    return render_to_response('degrees_result.html', {'mobile_a': tech_mark_a, 'mobile_b': mobile_b})

问题是当我提交一个空表单时它将消息显示为getFormValues()。但是,当我在表单上提交某些内容时,它显示错误视图 MarkCalculation.views.getFormValues未返回HttpResponse对象。 我该如何解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:1)

修复您的calculateMark()函数,使其没有任何不返回响应的代码路径。另外,请考虑先将参数转换为数字。