我有Django函数视图,里面有两个表单。检测哪种表单有用户输入数据的最佳解决方案是什么?我知道form.is_valid()
是如何工作的,但我仍然想先检查哪个表格填充了数据。
我的代码:
def edit_profile_view(request):
if request.method == "POST":
edit_form = EditProfileForm(request.POST)
pass_form = ChangePasswordForm(request.POST)
# here I want to detect which form has data inside,
# and then save this form
else:
edit_form = EditProfileForm()
pass_form = ChangePasswordForm()
template = get_template("profiles/profile_edit.html")
variables = RequestContext(request, {'edit_form': edit_form, 'pass_form': pass_form})
output = template.render(variables)
return HttpResponse(output)
答案 0 :(得分:1)
对于表单只有两个不同的操作/视图,然后具有数据的表单是用户单击提交的表单。
你可以像你说的那样,只是检查表单错误实际上是什么,或者在is_filled_in
的表单上创建一个方法,但这对我来说似乎有点过分了。