Django提交表单出错”django, CSRF token missing or incorrect”

解决方法大致是这样的:

1、settings.py文件中的配置得包含’django.middleware.csrf.CsrfViewMiddleware’。

MIDDLEWARE_CLASSES = (

    'django.middleware.csrf.CsrfViewMiddleware',

)

2、表单中得包含{% csrf_token %}标签

<form>
    {% csrf_token %}
</form>

3、在 view 中, 使用 django.template.RequestContext 而不是 Context。render_to_response, 默认使用 Context.。需要改成 RequestContext。

#额外需要导入的模块
from django.template import RequestContext

#视图函数中给render_to_response增加一个参数:context_instance=RequestContext(request)

return render_to_response('template.html',
          传递给模板的字典,
          context_instance=RequestContext(request)
    )

#比如这样
def confset(request):
    avg = {'privatetitle': '配置管理|配置下发', 'STATIC_URL': '/static'}
    return render_to_response('confapp/confset.html', avg, context_instance=RequestContext(request))

这样设置后应该是没有问题的。

转载请注明出处:http://www.xiaomastack.com/2014/08/04/djangoformerr/ 谢谢!

发表评论:

你的电子邮件地址将不会被公开.

+ 18 = 26