Python Django表格:否';字段错误';或';非字段错误';。但是"有效"和"假"吗?

Python Django表格:否';字段错误';或';非字段错误';。但是"有效"和"假"吗?,python,django,django-forms,Python,Django,Django Forms,views.py form1 = Form1(temp_arg=obj) form2 = Form2() if request.method == 'POST': print "submitting form" form1 = Form1(request.POST) form2 = Form2(request.POST) print form1.is_valid # prints false print form2.is_valid

views.py

form1 = Form1(temp_arg=obj)
form2 = Form2()
if request.method == 'POST':
    print "submitting form"
    form1 = Form1(request.POST)
    form2 = Form2(request.POST)
    print form1.is_valid             # prints false
    print form2.is_valid             # prints true
    print form1.errors               # prints None
    print form2.errors               # prints None
    print form1.non_field_errors()   # prints None
    print form2.non_field_errors()   # prints None
    if form1.is_valid() and form2.is_valid():
        print "form is valid"        # not executed
        #some code form.save and all
    else:
        print "Error!"               # prints this
forms.py

@parsleyfy
class Form1(ModelForm):
def __init__(self, temp_arg, *args, **kwargs):
    temp_val = temp_arg
    super(Form1, self).__init__(*args, **kwargs)
    self.fields['field1'] = forms.ChoiceField(
        choices=get_field_choices(temp_val))
    class Meta:
        model = Model1

我有两张表格。1表单包含需要动态加载的选项字段。我为此编写了一个函数
get\u field\u choices
,并从表单的
\uuuuu\uuuu
函数调用它。在我添加临时参数之前,它一直工作得很好。现在的问题是,具有动态加载功能的表单没有得到验证。但是
form.errors
form.non\u field\u errors
不返回任何内容。我无法跟踪表单的错误。

我使用的是
form1=form1(request.POST)


form1=form1(temp\u arg=obj,data=request.POST)
。它成功了。

我自己找到了答案。我使用了
form1=form1(request.POST)
,而不是
form1=form1(temp\u arg=obj,data=request.POST)
。它成功了。
格式1.有效吗
@Burhan Khalid:你能解释一下吗?不管怎样,我得到了答案,代码工作得很好。