0

そこで、views.pyファイルにフォームを作成しようとしましたが、テンプレートでレンダリングしても表示されませんでした。私は次のようにmanage.pyシェルでこれを実行しようとしました:

>>> 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はフォームを表示するはずですが、代わりに上記の出力を返します。シェルで起こっていることは、私のビューとテンプレートで起こっていることだと思います。フォームはバインドされたデータでもレンダリングされません。

この動作の原因は何ですか?フォームに関するDjangoのドキュメントに厳密に従っていると思います。

4

1 に答える 1

5

as_pはメソッドなので、インタープリターで使用する場合は、を使用する必要がありますas_p()。メソッドのルックアップと呼び出しは、テンプレートレンダラーによって自動的に実行されるため、テンプレートに角かっこは必要ありません。

于 2012-06-02T21:36:26.337 に答える