2

views.py

from django.core.context_processors import csrf
context.update(csrf(request))
{'csrf_token': <django.utils.functional.__proxy__ object at 0xae0f4ec>}

上記のようなビューでcsrfトークンを生成するフォームにcsrfトークンを追加しようとしていますが、csrf_token値は、文字列の代わりに上記のようなプロキシオブジェクトを提供します。django1.3を使用しています。ヘルプ。

4

1 に答える 1

6

csrfメソッドはレイジーであり、Promise/Proxyを返します。このオブジェクトがテンプレートで呼び出されると、テンプレートエンジンはこのオブジェクトをユニコード化し、実際のメソッドをトリガーします。

これを試して:

print unicode(csrf(request)['csrf_token'])
于 2012-08-03T09:54:42.873 に答える