Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 未使用打印的测试用例上的AttributeError_Python_Django_Python Unittest - Fatal编程技术网

Python 未使用打印的测试用例上的AttributeError

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

我对Python/Django相当陌生,而且我是自学成才的,所以可能我在这里遗漏了一些基本的东西

我正试图用Django为模型表单编写一个测试用例。 我创建了一个表单实例,可以打印它来查看Django如何呈现表单

使用form.u数据也可以工作,返回表单的值

    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数据