【发布时间】:2018-08-12 08:27:59
【问题描述】:
我有这样的api方法:
@api_view(['POST'])
@login_required
def get_posts(request):
# ...
如何仅在此方法上禁用 CSRF?
【问题讨论】:
标签: django django-rest-framework django-csrf
我有这样的api方法:
@api_view(['POST'])
@login_required
def get_posts(request):
# ...
如何仅在此方法上禁用 CSRF?
【问题讨论】:
标签: django django-rest-framework django-csrf
对于基于函数的视图,您通常可以使用装饰器csrf_exempt:
from django.views.decorators.csrf import csrf_exempt
from django.http import HttpResponse
@csrf_exempt
def my_view(request):
return HttpResponse('Hello world')
更新:DRF 可能有一个例外。看看here。
【讨论】:
api_view 仅适用于 DRF。我想解释一下装饰器csrf_exempt 不是特定于 DRF 的。因此,我更新了答案并将其链接到另一个 SO 问题,该问题更详细地解释了另一个相关的警告(身份验证)。