在我正在研究的Django项目中,我在视图中导入一个表单,如下所示
#views.py
from forms import SomeForm
然后在我的测试文件中
#form_test.py
from app.forms import SomeForm
.
.
.
self.assertTrue(isinstance(response.context['form'], SomeForm))
为什么这个实例不起作用?
如果我检查两个对象的type()输出,我得到这个:
response.context表单:
预期表格:
我可以通过使views.py中的导入机制与form_test.py中的导入机制相匹配来解决这个问题,但这似乎是错误的方法.
供参考,文件结构如下:
>网站/
> manage.py
> app /
> forms.py
> views.py
>测试/
> form_test.py
最佳答案 isinstance也比较模块位置,response.context [‘form’] class’模块是SomeForm模块app.forms的形式你通过分别检查__class __.__ module__和__module__来检查这个.
要进行实例工作,您可以:
>修复views.py中的导入(推荐)
>在form_testse.py中更改sys.path以便能够从表单导入SomeForm导入表单
>尝试intrapackage references