所以我尝试在我的views.py文件中创建一个表单,该表单在模板中呈现时没有显示。我尝试在manage.py shell中这样做:
>>> from django import forms
>>> class Test(forms.Form):
... about = forms.CharField(max_length=250)
... animal = forms.CharField(max_length=50)
... email = forms.EmailField()
...
>>> form = Test()
>>> form.as_p
<bound method Test.as_p of <Test object at 0xa9e446c>>
>>>
据我所知,form.as_p
应该给我表单,但它会返回上面的输出。我假设在shell中发生的事情是我的视图和模板中发生的事情。表单也不会使用绑定数据呈现。
知道造成这种行为的原因是什么吗?我相信我已经密切关注Django docs on forms了。
答案 0 :(得分:5)
as_p
是一种方法,因此如果您想在解释器中使用它,则应使用as_p()
。方法查找和调用由模板渲染器自动完成,这就是为什么你不需要模板中的括号。