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

yipeiwu_com7年前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进行文件对比的方法

文件对比是否一致,我们一般采用md5值对比,假如一样,代表文件一致,不一样说明不一致 假如想要详细的对比信息内容,difflib库提供了文件对比的详细信息和结果 1、首先我们查看下md5...

浅谈Python Opencv中gamma变换的使用详解

伽马变换就是用来图像增强,其提升了暗部细节,简单来说就是通过非线性变换,让图像从暴光强度的线性响应变得更接近人眼感受的响应,即将漂白(相机曝光)或过暗(曝光不足)的图片,进行矫正。 伽马...

Python2与Python3的区别点整理

python解释器默认编码(python2与python3的区别一) python2 解释器默认编码:ascii python3 解释器默认编码:utf-8 输入(python2与p...

Python机器学习算法之k均值聚类(k-means)

Python机器学习算法之k均值聚类(k-means)

一开始的目的是学习十大挖掘算法(机器学习算法),并用编码实现一遍,但越往后学习,越往后实现编码,越发现自己的编码水平低下,学习能力低。这一个k-means算法用Python实现竟用了三天...

Python上下文管理器用法及实例解析

这篇文章主要介绍了Python上下文管理器用法及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 with上下文管理器 语法:...