Django中针对基于类的视图添加csrf_exempt实例代码

yipeiwu_com6年前Python基础

在Django中对于基于函数的视图我们可以 @csrf_exempt 注解来标识一个视图可以被跨域访问。那么对于基于类的视图,我们应该怎么办呢?

简单来说可以有两种访问来解决

方法一

在类的 dispatch 方法上使用 @csrf_exempt

from django.views.decorators.csrf import csrf_exempt

class MyView(View):

  def get(self, request):
    return HttpResponse("hi")

  def post(self, request):
    return HttpResponse("hi")

  @csrf_exempt
  def dispatch(self, *args, **kwargs):
    return super(MyView, self).dispatch(*args, **kwargs)

方法二

在 urls.py 中配置

from django.conf.urls import url
from django.views.decorators.csrf import csrf_exempt
import views

urlpatterns = [
  url(r'^myview/$', csrf_exempt(views.MyView.as_view()), name='myview'),
]

总结

以上就是本文关于Django中针对基于类的视图添加csrf_exempt实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

基于python实现蓝牙通信代码实例

这篇文章主要介绍了基于python实现蓝牙通信代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 安装和示例 linux下安装...

tensorflow tf.train.batch之数据批量读取方式

在进行大量数据训练神经网络的时候,可能需要批量读取数据。于是参考了这篇文章的代码,结果发现数据一直批量循环输出,不会在数据的末尾自动停止。 然后发现这篇博文说slice_input_pr...

python3.0 模拟用户登录,三次错误锁定的实例

python3.0 模拟用户登录,三次错误锁定的实例 实例如下所示: # -*- coding:utf-8 -*- #需求模拟用户登录,超过三次错误锁定不允许登陆 count...

python配置grpc环境

gRPC 的安装: $ pip install grpcio 安装 ProtoBuf 相关的 python 依赖库: $ pip install protobuf 安装 python...

在python带权重的列表中随机取值的方法

1 random.choice python random模块的choice方法随机选择某个元素 foo = ['a', 'b', 'c', 'd', 'e'] from rando...