当前位置: 首页 > 后端技术 > Python

在django中遇到错误:ForbiddenCSRFcookienotset

时间:2023-03-26 13:52:04 Python

CSRFcookienotset提示的意思是没有设置CSRF。什么是cookieCSRF?表示django全局发送的所有post请求都需要字符串校验功能:防止跨站请求伪造功能作用:客户端访问服务端,当服务端正常返回数据给客户端时,返回一个字符串给客户端,客户端下次访问服务器时,服务器会去客户端找之前返回的字符串,找到则继续,找不到则拒绝。访问流程:客户端-》URL路由系统-》CSRF-》查看函数这里我想写的是一个内部使用的api接口,跨站请求伪造的不多,所以这里不建议提供两个,不过很简单由于不需要CSRF,这里我们可以关闭CSRF检测解决方法一:在你创建的工程中,找到settings.py文件settings.py,找到MIDDLEWARE参数,注释掉'django.middleware.csrf.CsrfViewMiddleware',就像这样解决方案二:第二种方法和第一种差不多,注释掉django.middleware.csrf.CsrfViewMiddleware,这个是全局设置,其实我们也可以特化单个api设置这里我们使用@csrf_exempt来处理@csrf_exempt用于取消当前功能防跨站请求伪造功能找到views.py文件,这是我们处理api规则从django.views导入。decorators.csrfimportcsrf_exempt我们是对应的加上@csrf_exempt功能是这样的,想看更多内容是不是很方便关注我注:转载请注明出处,谢谢^_^