当前位置: 首页 > 编程笔记 >

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

司徒正信
2023-03-14
本文向大家介绍Django中针对基于类的视图添加csrf_exempt实例代码,包括了Django中针对基于类的视图添加csrf_exempt实例代码的使用技巧和注意事项,需要的朋友参考一下

在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实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

 类似资料:
  • 问题内容: 我希望该帖子确实被csrf停止了,但是它返回403错误。 但是,如果删除该装饰器并在URLConf中执行此操作 它会工作。 这里发生了什么?它不应该工作,因为我猜那是method_decorator所做的。我正在使用python3.4和django1.7.1 任何建议都很好。 问题答案: 你需要装饰工作方法。它所做的是将视图函数本身的属性设置为,然后中间件在(最外面的)视图函数中对此进

  • 问题内容: 我正在寻找有关其他人如何设计此方法的意见。我将提供基于类(Django组)的视图。 例如,用户组将确定他或她将有权访问哪些视图/模板。我正在考虑也许在表中存储用于查看功能的路径,以确定用户的链接栏将由什么组成。过滤器规范也可以存储,以确定哪些行将填充这些模板。 医院护理单位就是一个很好的例子。一个单位的护士不必看整个医院的病人。他们只需要去看病人。同一部门的医生也只需要看望那些患者,但

  • 本文向大家介绍在django admin中添加自定义视图的例子,包括了在django admin中添加自定义视图的例子的使用技巧和注意事项,需要的朋友参考一下 django admin提供了完善的用户管理和数据模型管理,方便实用。研究了一下在admin里面添加自己的页面。 在admin.py里继承django.contrib.admin.ModelAdmin基类 然后在里面写自己的视图处理函数。基

  • 问题内容: 主视图是一个简单的分页ListView,我想向其中添加搜索表单。 我认为这样可以解决问题: 但是显然我错了..我在官方文档中找不到该怎么做的方法。 建议? 问题答案: 这些答案对引导我朝正确的方向大有帮助。谢谢大家 对于我的实现,我需要一个窗体视图,该窗体视图同时在get和post上返回ListView。我不喜欢重复get函数的内容,但需要进行一些更改。现在,self.form也可以从

  • 我试图在一个基于类的视图实例中传递参数,但我无法找到正确的方法。 我的api服务在REST框架视图中工作良好,并接收两个强制参数(用户和语言): 我找到了类似的答案,但发送参数作为回报,那不是我的情况。这是我的决定, 只发送值: api/urls.py API/API.PY 额外的:我如何发送一个额外的可选参数? 非常感谢,如有任何帮助,我们将不胜感激:)

  • 问题内容: Django视图指向一个函数,如果您只想更改一些功能,则可能会出现问题。是的,函数中可以有数百万个关键字参数,如果有语句,甚至可以更多,但是我在想更多的面向对象方法。 例如,我有一个显示用户的页面。该页面与显示组的页面非常相似,但仍与仅使用另一个数据模型不太相似。小组也有成员等… 一种方法是将视图指向类方法,然后扩展该类。有没有人尝试过这种方法或有其他想法? 问题答案: 我已经创建并使