我正在构建一个Web应用程序,Django作为后端框架,DjangoRestFramework作为webAPI,React Native作为前端,apisauce作为HTTP客户端。当我尝试从前端向后端发出POST请求时,我得到了这个错误:
CSRF失败:缺少CSRF令牌
当我使用postman时,我没有得到错误。
如果我把这个注解掉django.middleware.csrf.CsrfViewMiddleware
好吗?
我正在构建一个Web应用程序,Django作为后端框架,DjangoRestFramework作为webAPI,React Native作为前端,apisauce作为HTTP客户端。当我尝试从前端向后端发出POST请求时,我得到了这个错误:
CSRF失败:缺少CSRF令牌
当我使用postman时,我没有得到错误。
如果我把这个注解掉django.middleware.csrf.CsrfViewMiddleware
好吗?
1条答案
按热度按时间uelo1irk1#
CSRF令牌用于防止跨站点请求伪造攻击。此错误意味着您没有在POST请求中提供CSRF。我想知道您为什么使用
apisauce
而不是axios
,因为axios自动包含CSRF令牌。意思是你不需要注解"django. middleware. csrf. csrfViewMiddleware"
并确保您的应用免受CSRF攻击。
好的,如果你必须使用
apisauce
,你可以使用下面的代码手动设置csrf标记: