Django解除单个方法的csrf验证

Myth丶恋晨 2023-07-13 03:22 62阅读 0赞

今天在处理公司官网时,请求后台的单独某个方法不想使用csrf验证进行数据的访问

方法如下:

在url.py文件中修改设置路由

修改前:

  1. from django.urls import path
  2. from . import views
  3. urlpatterns = [
  4. path('publisher-warranty/', views.publisher_warranty, name='publisher_warranty')
  5. ]

修改后:

  1. from django.views.decorators.csrf import csrf_exempt
  2. from django.urls import path
  3. from . import views
  4. urlpatterns = [
  5. path('publisher-warranty/', csrf_exempt(views.publisher_warranty), name='publisher_warranty')
  6. ]

在修改views.py

导入包:

  1. from django.views.decorators.csrf import csrf_exempt

然后在单独需要取消验证的方法前面加装饰器:

  1. @csrf_exempt

如下:

  1. @csrf_exempt
  2. def publisher_warranty(request):
  3. arg_dic = {}
  4. if request.POST:
  5. action = request.POST.get('action')
  6. arg_dic = eval(arg0)

即可不需要csrf验证,访问。

发表评论

表情:
评论列表 (有 0 条评论,62人围观)

还没有评论,来说两句吧...

相关阅读