Python 未使用打印的测试用例上的AttributeError
我对Python/Django相当陌生,而且我是自学成才的,所以可能我在这里遗漏了一些基本的东西 我正试图用Django为模型表单编写一个测试用例。 我创建了一个表单实例,可以打印它来查看Django如何呈现表单 使用form.u数据也可以工作,返回表单的值Python 未使用打印的测试用例上的AttributeError,python,django,python-unittest,Python,Django,Python Unittest,我对Python/Django相当陌生,而且我是自学成才的,所以可能我在这里遗漏了一些基本的东西 我正试图用Django为模型表单编写一个测试用例。 我创建了一个表单实例,可以打印它来查看Django如何呈现表单 使用form.u数据也可以工作,返回表单的值 bulk_image_form = BulkTestForm(data={'daisy': 3, 'dandelion': 0, 'tulips': 0, 'sunflowers': 1, 'roses': 0}) test
bulk_image_form = BulkTestForm(data={'daisy': 3, 'dandelion': 0, 'tulips': 0, 'sunflowers': 1, 'roses': 0})
test_form = bulk_image_form
print(test_form)
print(test_form.cleaned_data)
但是,一旦我删除第一个print语句(print(test_form)),test_form.cleaned_数据就不再工作。控制台显示如下内容:
AttributeError:'BulkTestForm'对象没有属性'cleaned_data'
为什么print语句会对访问对象的属性产生影响?必须调用
is\u valid()
test_form = bulk_image_form
test_form.is_valid()
print(test_form.cleaned_data)
打印表单时,表单将被验证为副作用,因此即使您没有显式调用is\u valid()
,也可以访问已清理的\u数据