我的项目是在服务器部署添加ip后报错的这个错误是因为 Django 的 CSRF 验证机制检测到请求的 Origin 或 Referer 头部与受信任的域名不匹配。要解决此问题,可以将新域名添加到 Django 的 settings.py 中的 CSRF_TRUSTED_ORIGINS 设置里.

1.非debug模式看到的报错信息:

禁止访问 (403)
CSRF验证失败. 请求被中断.

更多可用信息请设置选项DEBUG=True。

2.settings打开debug模式,才能把报错信息看的详细信息:

注释:表单的CSRF防护,可以在模板上删除{% csrf_token %}, 并且在相应的视图函数中添加装饰器@csrf_exempt

解决办法:settings.py,添加这句代码

CSRF_TRUSTED_ORIGINS = ['http://自己的ip或者域名']

保存 settings.py 并重新启动 Django 应用以应用更改。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐