一.报错信息
"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