我的view.py如下所示。我认为错误在这一部分。如果现在还不够,我会发布详细的功能。基本上,总数作为参数的模型是整型。ValueError:int()与基数为10的无效文字:''无法识别错误
编辑1:编写整个函数,使其更有用。
def subjManip(request):
c= {}
c.update(csrf(request))
subj = None
c.update(csrf(request))
if request.method == 'POST':
form = SubjForm(request.POST)
if form.is_valid():
user = request.user
subj1 = form.cleaned_data['subj1']
subj2 = form.cleaned_data['subj2']
subj3 = form.cleaned_data['subj3']
if subj1 == None and subj2 == None:
raise forms.ValidationError("Both subjs cannot be empty")
tot = float (((float(0.2017 * subj1)+ float (0.09036 * subj2) + float(0.6309 * subj3) - 5.0269)/ 4.184)
total =int(tot)
elif subj1 == None:
total = subj1
[PEP8](http://www.python.org/dev/peps/pep-0008/#programming-recommendations) - 比较像'None'单身应该总是用'is'或'not'来完成,从来都不是等号运算符。 – Ngenator 2013-04-21 20:27:44
很确定问题不在代码的这一部分:唯一的'int'调用总是得到一个'float'实例,这很好。它可能在'SubjForm'实例化中。你能发布整个异常/回溯? – Michael 2013-04-21 20:34:01
@迈克尔你是对的。在表单中,我错误地将subj3声明为字符而不是整数。谢谢你指出。 – 2013-04-21 20:38:09