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

解决方法
settings.py文件中的配置得包含'django.middleware.csrf.CsrfViewMiddleware'

1
MIDDLEWARE_CLASSES = ( 'django.middleware.csrf.CsrfViewMiddleware', )

表单中得包含csrf_token标签

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

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

1
2
3
4
5
6
7
8
#额外需要导入的模块 
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))

这样设置后应该可以解决问题。

----------------本文结束 感谢阅读----------------