Django提交POST表单“CSRF verification failed. Request aborted”问题的解决
1、环境
python 3.4
Django 1.7
Visual Studio 2015 PTVS
2、问题
提交表单,出现以下错误:
CSRF verification failed. Request aborted.
3、解决
查看settings.py, 有 'django.middleware.csrf.CsrfViewMiddleware' 一句:
1 MIDDLEWARE_CLASSES = ( 2 'django.contrib.sessions.middleware.SessionMiddleware', 3 'django.middleware.common.CommonMiddleware', 4 'django.middleware.csrf.CsrfViewMiddleware', 5 'django.contrib.auth.middleware.AuthenticationMiddleware', 6 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 7 'django.contrib.messages.middleware.MessageMiddleware', 8 'django.middleware.clickjacking.XFrameOptionsMiddleware', 9 'cstnet.middleware.urlsfilter', 10 'jobfarm.middleware.MultipleProxyMiddleware', 11 'jobfarm.middleware.OAuthJobFarmFilter' 12 )
在表单处理函数前添加 @csrf_protect :
1 #申请表单处理 2 @csrf_protect 3 def doapply(request): 4 context = { 5 'group':request.POST['group'], 6 'host':request.POST['host'], 7 'image':request.POST['image'], 8 'net':request.POST['net'], 9 'vcpu':request.POST['vcpu'], 10 'num':request.POST['num'], 11 'remarks':request.POST['remarks'] 12 }; 13 ...
并在文件头导入命名空间,不然会找不到csrf_protect:
1 from django.views.decorators.csrf import csrf_protect
运行正常。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示