You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django超级管理员修改用户属性遇403 CSRF验证失败求助

解决Django中Origin不匹配导致的CSRF 403错误

问题核心是Django的CSRF验证机制检测到请求的Origin(https://somedomain.com)不在可信源列表中,因此拦截了请求。按以下步骤解决:

  • 修改项目根目录下的settings.py,先确认ALLOWED_HOSTS包含你的域名:

    ALLOWED_HOSTS = ['somedomain.com', 'www.somedomain.com']  # 根据实际域名调整
    
  • 若使用Django 3.1及以上版本,必须配置CSRF_TRUSTED_ORIGINS,将你的域名(带完整协议)添加进去:

    CSRF_TRUSTED_ORIGINS = ['https://somedomain.com', 'https://www.somedomain.com']
    
  • 保存配置后,重启Django开发服务器或生产环境的服务。

如果你的项目部署时用了反向代理(比如Nginx),还要确保代理配置中正确传递请求头,让Django能识别真实的Origin:

proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;

内容的提问来源于stack exchange,提问作者M Jafri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 22:07:04