Django + DRF 接口访问 CSRF Failed: CSRF cookie not set 怎么办,教你解决

一.报错信息

"detail": "CSRF Failed: CSRF cookie not set."

二.错误原因
因为在SessionAuthentication中强制使用CSRF Token。如果未传递有效的CSRF令牌,则会引发403错误。

三.解决办法
你可以自定义中间件来禁止CSRF Token验证

MIDDLEWARE = [
	...
    "utils.csrf_middleware.NotUseCsrfTokenMiddlewareMixin"
]
from django.utils.deprecation import MiddlewareMixin


class NotUseCsrfTokenMiddlewareMixin(MiddlewareMixin):

    def process_request(self, request):
        setattr(request, '_dont_enforce_csrf_checks', True)

再次访问时即可正常

来我的GitHub来看更多关于DRF的资料吧
十分钟学会DRF的企业级用法

https://github.com/Tengxu666/DRF_Professional

你可能感兴趣的:(拳打脚踢Python后端,python,django,drf)