您现在的位置是: 网站首页> 学习笔记> Django Django
django部署到生产环境后报CSRF验证失败异常
2024-01-22 [python] 2068人已围观
如题,本地开发时,提交表单一切正常,但部署到生产环境后, 提交表单一直报CSRF验证失败。 排查了以下问题,都是正常的:
1.settings.py
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
2.html文件
<form class="form-inline" action="/chengyu/search" method="post">
{% csrf_token %}
<input class="form-control mr-sm-2" type="search" placeholder="输入关键词搜索" name="searchKey" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">搜索</button>
</form>
{% csrf_token %}也是添加了的
3.views.py
def post(self, request):
search_key = request.POST.get('searchKey', '')
datas = []
return render(request=request, template_name='chengyu/search.html', context=locals())
确认以上配置都没问题,经过九九八十一分钟的煎熬,最后终于解决了问题。
解决方案
在settings.py中添加域名配置:
CSRF_TRUSTED_ORIGINS = ['https://hotword.cn',]
完美解决问题
相关文章
文章评论
暂无评论添加评论
点击排行
本栏推荐
标签云
热评文章
- django使用qq邮箱发送邮件
- mysql8设置数据库远程连接
- pip修改下载源为国内源
- win10看不到win7共享的文件夹的解决方法
- SQLyog连接 Mysql 8.0.11 报error no.1251- Client does not support authentic...
- 使用Oracel Net Nanager配置Oracle数据库远程访问
- 将anaconda的下载源切换为国内的源
- Python+selenium+firefox设置代理IP
- selenium+firefox+js实现动态设置firefox浏览器代理IP
- scrapy文件下载(高新技术企业认定网)
- Python调用JS代码
- Chrome浏览器的overrides的使用
站点信息
- 建站时间:2021-01-01
- 网站程序:Django 3.1.2
- 文章统计:53篇
- 文章评论:36条
- 统计数据: