Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django将CSRF令牌作为对象而不是值输出_Django_Django Forms_Csrf_Django Csrf - Fatal编程技术网

Django将CSRF令牌作为对象而不是值输出

Django将CSRF令牌作为对象而不是值输出,django,django-forms,csrf,django-csrf,Django,Django Forms,Csrf,Django Csrf,我正在Django的一个简单POST表单中努力使用CSRF令牌。模板生成以下CSRF输出,而不是输出令牌的值: <input type='hidden' name='csrfmiddlewaretoken' value='{'csrf_token':django.utils.functional.__proxy__ object at 0x1255690>}' /> 我找到了原因:在settings.py中,我添加了:django.middleware.csrf.CsrfVi

我正在Django的一个简单POST表单中努力使用CSRF令牌。模板生成以下CSRF输出,而不是输出令牌的值:

<input type='hidden' name='csrfmiddlewaretoken' value='{'csrf_token':django.utils.functional.__proxy__ object at 0x1255690>}' />

我找到了原因:在settings.py中,我添加了:
django.middleware.csrf.CsrfViewMiddleware
但不是:
django.middleware.csrf.CsrfResponseMiddleware


因此,在
django.middleware.csrf.CsrfResponseMiddleware
django.middleware.common.CommonMiddleware
之后添加
django.middleware.csrf.CsrfResponseMiddleware

我找到了原因:在settings.py中,我添加了:
django.middleware.csrf.CsrfViewMiddleware
但不是:
django.middleware.csrf.CsrfResponseMiddleware


因此,在
django.middleware.csrf.CsrfResponseMiddleware
django.middleware.common.CommonMiddleware
之后添加
django.middleware.csrf.CsrfResponseMiddleware

请显示准确的模板片段。嗨,丹尼尔,我已经添加了表单,希望这有帮助。当我做{crsf_token.csrf_token}时,实际的token会显示出来,但是没有整个隐藏的输入字段。请显示准确的模板片段。嗨,Daniel,我已经添加了表单,希望这有帮助。当我执行{crsf_token.csrf_token}时,将显示实际的标记,但是不显示整个隐藏的输入字段。
<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>