【Django】如何在类视图、普通视图单独不做CSRF校验

一、背景

在某些特定场合下,需要局部禁用CSRF校验,比如,期望整个项目都启用CSRF,但是中途遇到某一两个视图要去掉这个校验

 

二、方案

1、如果你写Django的路由用的类视图,那么需要这样写

在 urls.py 文件

1 from django.views.decorators.csrf import csrf_exempt
2 
3 urlpatterns = [
4     path('upload/lay/', csrf_exempt(views.UploadLayView.as_view()), name='upload_lay'),  # 路由_上传文件
5 ]

 

2、如果你用的是普通视图(就是函数视图)

在 views.py 文件,在视图添加一个装饰器即可

1 from django.views.decorators.csrf import csrf_exempt
2 
3 @csrf_exempt
4 def MyView(request):
5     return

 

posted @ 2020-10-26 17:51  Tester北柯郡  阅读(223)  评论(0编辑  收藏  举报