如何检查Django表单是否包含任何数据?

时间:2015-12-01 10:34:23

标签: python django

我有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)

1 个答案:

答案 0 :(得分:1)

对于表单只有两个不同的操作/视图,然后具有数据的表单是用户单击提交的表单。

你可以像你说的那样,只是检查表单错误实际上是什么,或者在is_filled_in的表单上创建一个方法,但这对我来说似乎有点过分了。