什么是@csrf_exempt

Sha*_*rif 14 django-rest-framework

我是 django-rest-framework 的新手。我对这件事不是很了解。什么是“@csrf_exempt”?为什么要在我们的 views.py 中使用它?请帮我详细说明。如果还有“@csrf_exempt”的任何其他选项,也请告诉我。

Mat*_*ens 19

通常,当您通过表单提出请求时,您希望提交给您的视图的表单来自您的网站,而不是来自其他某个域。为确保发生这种情况,您可以在表单中放置一个 csrf 令牌,以便您的视图识别。如果您添加@csrf_exempt到视图的顶部,那么您基本上是在告诉视图它不需要令牌。这是您应该认真对待的安全豁免。


Phi*_*tua 7

装饰器将视图标记为不受中间件确保的保护。例子:

from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def my_view(request):
    return HttpResponse('Hello world')
Run Code Online (Sandbox Code Playgroud)