共计 687 个字符,预计需要花费 2 分钟才能阅读完成。
CSRF cookie not set
提醒就是说
未设置 CSRF cookie
CSRF 是啥?
示意 django 全局发送 post 申请均须要字符串验证
性能: 避免跨站申请伪造的性能
工作原理 :客户端拜访服务器端,在服务器端失常返回给客户端数据的时候,而外返回给客户端一段字符串,等到客户端下次访问服务器
端时,服务器端会到客户端查找先前返回的字符串,如果找到则持续,找不到就回绝。
拜访流程:客户端 -》URL 路由零碎 –》CSRF -》视图函数
我这里要写的是一个外部应用的 api 接口,也不大会有 跨站申请伪造
所以这里提供两个不是很举荐,然而非常简单的形式解决这个问题
既然不须要 CSRF 这里咱们就把 CSRF 检测关掉即可
解决办法 1:
- 在你创立的我的项目中,找到
settings.py
文件 - 文件 settings.py 找到
MIDDLEWARE
参数 - 正文掉
'django.middleware.csrf.CsrfViewMiddleware',
即可
就像这样
解决办法 2:
第二种办法和第一种差不多
下面是的正文掉django.middleware.csrf.CsrfViewMiddleware
,这是一个全局的设置
其实咱们也能够对单个 api 进行特地设置
这里 咱们应用 @csrf_exempt 来进行解决
@csrf_exempt 是用来勾销以后函数防跨站申请伪造性能
- 找
views.py
文件,这是咱们解决 api 规定的 - 导入
from django.views.decorators.csrf import csrf_exempt
- 咱们在对应的函数上加上
@csrf_exempt
就像这样,是不是很简略
关注我获取更多内容
注:转载还请注明出处,谢谢 ^_^
正文完