CBV中解决 post请求的csrf问题的方式

避免发生此问题的方式
全局:注释csrf中间件
局部避免csrf的方式:
针对视图函数:# 避免csrf验证
先导入这两个
from django.views.decorators.csrf import csrf_exempt
from django.utils.decorators import method_decorator
针对试图函数的方法
@csrf_exempt
def foo(request):
return HttpResponse("foo")
针对CBV的两种方式
# 方式1 # @method_decorator(csrf_exempt,name="dispatch") class UserView(View): #方式二 #也可以自定义以dispatch()方法 @method_decorator(csrf_exempt) #加上这句就可以不验证post请求的csrf内容 def dispatch(self, request, *args, **kwargs): #写上一个print 方法 print('Hollow') #运行的内容继承dispatch 接收返回值 res=super(UserView, self).dispatch(request, *args, **kwargs) #将返回值返回 return res #定义两个类,get post这两个 def get(self,request): print('get11111') return HttpResponse('getOK') def post(self,request): return HttpResponse('postOK')
浙公网安备 33010602011771号