【django】Forbidden (CSRF cookie not set.)

CSRF

表示django全局发送post请求均需要字符串验证

功能: 防止跨站请求伪造的功能

工作原理: 客户端访问服务器端,在服务器端正常返回给客户端数据的时候,而外返回给客户端一段字符串,等到客户端下次访问服务器端时,服务器端会到客户端查找先前返回的字符串,如果找到则继续,找不到就拒绝。

访问流程: 客户端-》URL路由系统 - 》 CSRF -》视图函数我这里要写的是一个内部使用的api接口,也不大会有 跨站请求伪造所以这里提供两个不是很推荐,但是非常简单的方式解决这个问题既然不需要 CSRF 这里我们就把CSRF检测关掉即可

方法一

在项目的setting.py中注释下列,全局禁用csrf

方法二

相关视图函数加修饰器,免除csrf验证

python 复制代码
from django.views.decorators.csrf import csrf_exempt
python 复制代码
@csrf_exempt
def view_func(...): ...
相关推荐
设计师小聂!1 分钟前
linux常用命令(三)
linux·运维·服务器
病树前头1 小时前
如何查看服务器当前用户的权限
运维·服务器
许白掰3 小时前
Linux入门篇学习——Linux 编写第一个自己的命令,make 工具和 makefile 文件
linux·运维·服务器·学习
noravinsc6 小时前
django queryset 去重
数据库·django·sqlite
望获linux7 小时前
【实时Linux实战系列】硬实时与软实时设计模式
linux·运维·服务器·数据库·操作系统·rtos·嵌入式软件
沉默的八哥10 小时前
Linux中LVM逻辑卷扩容
linux·运维·服务器
YZJenny10 小时前
没有管理员权限,在服务器安装使用 Jupyter + R 内核
服务器·jupyter
wanhengidc11 小时前
服务器机柜与网络机柜各自的优势
服务器·网络·智能路由器
学不会就看12 小时前
Django--02模型和管理站点
数据库·oracle·django