我有以下代码来处理一个简单的表单,我的观点是没有发回 http 响应。
我不知道我的代码有什么问题..
def novo_material(request):
current_page='material'
if request.method =='POST':
form = SystemInventoryUpdate(request.POST)
if form.is_valid():
name=form.cleaned_data['name']
qty=form.cleaned_data['qty']
unit=form.cleaned_data['unit']
t= NewMaterial(name=name,qty=qty,unit=unit)
t.save()
return HttpResponseRedirect(reverse('material'))
else:
form=NewMaterial()
return render(request,'novo_material.html',{'form':form})
它引发了这个错误:
The view dashboard.views.novo_material didn't return an HttpResponse object. It returned None instead.
请您参考如下方法:
您处理请求是否为 POST 的情况,但您没有处理表单无效 的条件(内部 if-else 条件)。
if form.is_valid():
name=form.cleaned_data['name']
qty=form.cleaned_data['qty']
unit=form.cleaned_data['unit']
t= NewMaterial(name=name,qty=qty,unit=unit)
t.save()
return HttpResponseRedirect(reverse('material'))
else:
# NEED HANDLE THIS CASE WHEN FORM ISN'T VALID
# DISPLAY ERRORS/REMINDERS ON THE SAME PAGE, ALARM USER THE INPUT
# ARE INVLID
