我有一个django应用程序,用户使用OAuth注册并关联第三方帐户。作为其中的一部分,我在第三方网站上创建订阅,当第三方网站上有某些事件时,该订阅将向给定端点发出POST请求。当第三方网站进行POST调用时,我收到以下错误 -
"POST /notification HTTP/1.1" 403 2282
而且,如果我理解正确,那是因为请求中缺少csrf
令牌。如何忽略csrf
检查?
答案 0 :(得分:2)
将@crsf_exempt
decorator添加到您的查看功能:
此装饰器将视图标记为免于中间件确保的保护。例如:
from django.http import HttpResponse from django.views.decorators.csrf import csrf_exempt @csrf_exempt def my_view(request): return HttpResponse('Hello world')
答案 1 :(得分:0)
你可以忽略所有形式的csrf,在settings.py中注释你的中间件类列表中的这一行。
MIDDLEWARE_CLASSES = (
....
# 'django.middleware.csrf.CsrfViewMiddleware',
....
)