【发布时间】:2011-01-20 02:34:55
【问题描述】:
我在 Django 中以简单的 POST 形式处理 CSRF 令牌。模板生成以下 CSRF 输出,而不是输出令牌的值:
<input type='hidden' name='csrfmiddlewaretoken' value='{'csrf_token':django.utils.functional.__proxy__ object at 0x1255690>}' />
我在模板中使用{% csrf_token %},我该如何解决这个问题? (我使用的是 Django 1.2)
编辑:确切的表单代码是:
<form name="foo" action="url" method="POST">
{% csrf_token %}
<select>
{% for key, account in accounts.items %}
<option value="{{ key }}">{{ account }}</option>
{% endfor %}
</select>
<input type="submit">
</form>
【问题讨论】:
-
请显示准确的模板片段。
-
嗨丹尼尔,我已经添加了表格,希望这会有所帮助。当我执行 {{ crsf_token.csrf_token }} 时,会显示实际的令牌,但是没有整个隐藏的输入字段。
标签: django django-forms csrf django-csrf