@csrf_exempt 在 Django 1.4 中停止工作

2024-04-22

我有以下代码,在 Django 1.2.5 中运行良好:

from django.views.decorators.csrf import csrf_exempt

class ApiView(object):
    def __call__(self, request, *args, **kwargs):
        method = request.method.upper()
        return getattr(self, method)(request, *args, **kwargs)

@csrf_exempt
class MyView(ApiView):

    def POST(self):
       # (...)
       return HttpResponse(json.dumps(True), mimetype="text/javascript")

但是当我升级到 Django 1.4 时,我开始收到 403 禁止,并显示“CSRF 验证失败”消息。

为什么 @csrf_exempt 装饰器不起作用?

网址定义为:

from django.conf.urls.defaults import *
from django.views.decorators.csrf import csrf_exempt

import views

urlpatterns = patterns('',
   url(r'^myview/(?P<parameter_name>[A-Za-z0-9-_]+)/$',
       views.MyView(),
       name="myproject-myapp-myview",
       ),
)

根据Django 文档 https://docs.djangoproject.com/en/dev/topics/class-based-views/#decorating-the-class:

要装饰基于类的视图的每个实例,您需要装饰 类定义本身。为此,您将装饰器应用到 类的dispatch()方法。

所以你需要做类似的事情:

class MyView(ApiView):

    def POST(self):
       # (...)
       return HttpResponse(json.dumps(True), mimetype="text/javascript")

    @csrf_exempt
    def dispatch(self, *args, **kwargs):
        return super(MyView, self).dispatch(*args, **kwargs)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

@csrf_exempt 在 Django 1.4 中停止工作 的相关文章

随机推荐

  • 如何将孤立分支“按原样”附加到 master?

    搬迁使用过程中git我们采用了解决方案的生产版本并将其作为master 然后我们拿了一个开发版本并做了一个孤儿分支 called develop 背景 为什么我们在这里有点纠结是因为从开发版本到生产版本并没有干净的演变 此外 组装所涉及的解
  • 从 cURL 发布:HTTP_X_REQUESTED_WITH

    我正在以编程方式将表单发布到 PHP 表单处理脚本 有没有办法让我的表单处理脚本认为该帖子是由ajax 完成的 表单处理程序当前检查 SERVER 中的 HTTP X REQUESTED WITH 以实现特殊的仅限 ajax 的逻辑 当我使
  • 重新启动 Android MediaRecorder 时出现 IllegalStateException [在无效状态下调用启动:1]

    我正在尝试实现简单的逻辑来开始 停止录制MediaRecorder安卓的 周期为 连接到 localSocket 设置选项 mRecorder prepare mRecorder start mRecorder stop mRecorder
  • Android Studio 3.1:代理配置:无法为git操作设置https用户密码

    我最近将 Android Studio 从 3 0 升级到了 3 1 在3 0中 我曾经在中设置代理配置gradle properties 全局属性 文件 其中包括设置systemProp https proxyPassword除其他外 但
  • 更改 SOLR 默认连接

    我正在使用嵌入 SOLR 的应用程序 SOLR 在 Tomcat 的 webapp 区域中像一场战争一样运行 是否有 SOLR 配置允许我切换搜索的默认 SOLR 行为以假定 AND 而不是 OR 作为连接运算符 在您的模式文件中添加 或修
  • /var/run/docker.sock:在 Python CGI 脚本中运行 docker 时权限被拒绝

    我正在尝试运行 Python CGI 脚本 在其中需要运行 docker 镜像 我使用的是 Docker 版本 1 6 2 用户是 www data 添加到docker组中 www data www data sudo docker 在机器
  • 模型响应包含 swagger 中不同对象类型的数组

    我想建模一个响应对象 其中包含 swagger 中不同类型对象的数组 如下所示 table user customer employee 我尝试了下面的解决方案 但它将所有属性包装在单个对象 user customer 中 response
  • 使用 SSE/AVX 获取 __m256d 中存储的值的总和

    有没有办法获得存储在 m256d 变量中的值的总和 我有这个代码 acc mm256 add pd acc mm256 mul pd row vec acc in this point contains 2 0 8 0 18 0 32 0
  • Rvest XML 网络抓取

    我是一个初学者 我在抓取方面遇到了问题 我需要获取有关一些客户的活动 非活动 VEIS 号码的数据 目前 我只尝试一个 在网站上 我必须 设置值并发送表单 然后浏览器重定向到下一页 我可以在其中找到有趣的日期 下面我发送了我的代码 也许有人
  • Excel动态图表标题(前n个)

    是否可以创建包含 前 n 的动态 Excel 数据透视图标题 其中 n 用户选择的值过滤器行限制 我知道图表标题可以设置为单元格的内容 但不确定如何确定用户选择的前 n 个限制或如何将其添加到单元格公式中 如果可能的话 我们将不胜感激任何帮
  • 如何评估kafka流应用程序的消耗时间

    我有 1 0 0 kafka 流应用程序 有两个类 如下所示 class FilterByPolicyStreamsApp 和 class FilterByPolicyTransformerSupplier 在我的应用程序中 我读取事件 执
  • Django 模型:设置相对于另一个字段的默认值

    我正在使用 Django 1 10 作为后端构建一个应用程序 是否可以设置模型字段相对于同一实例中另一个模型的默认值 我特别需要设置second visit s默认为 3 周后first visit class SomeModel mode
  • 映射列类型 Slick 3.1.1

    我是 Slick 的新手 很难将 java sql date time timestamp 映射到 jodatime trait ColumnTypeMappings val profile JdbcProfile import profi
  • 如何将索引从一个索引节点移动到 couchbase 中的另一个索引节点

    我在 couchbase 集群中有 6 个索引节点 我想替换一次索引节点并将索引从旧索引节点移动到新索引节点 将索引从一个节点移动到另一个节点的最佳实践是什么 在 Couchbase 5 5 中 您可以使用 ALTER INDEX 语句将索
  • WooCommerce 根据用户角色更改 BACS 订单状态

    我收到几个订单 其中客户选择 直接银行转账 然后他们改变主意并希望通过信用卡付款 这非常烦人 因为我必须手动将订单从 暂停 更改为 待付款 以便他们可以通过 订单 下 我的帐户 中的 订单支付 端点通过卡付款 我一直在使用WooCommer
  • 错误:命令失败,rc=65536 python 和 mod_wsgi

    我遇到这个问题 我正在运行 pythonbrew 来获取 python2 7 因此我重新编译了 mod wsgi 以使用 2 7 python 为此 我遵循了本教程 code google com p modwsgi wiki QuickI
  • python 中的跨平台代码

    如何在 python 中编写一些 Windows 代码 仅当我在 widnows 中运行脚本时才执行 如果我应该在 linux 中运行它 则应该忽略这部分 windows 代码 与此类似 在 C 中 ifdef windows code e
  • C++ 如何将“this”传递给指针引用

    我有一个主类 我喜欢将其指针引用传递给我创建的对象 但它给了我错误 错误 1 错误 C2664 GameController GameController GameLayer 无法将参数 1 从 GameLayer const 转换为 Ga
  • ListView 的转换视图类型 BaseAdapter 错误

    我有一个使用不同类型的视图行的列表视图适配器 大多数时候它工作得很好 但是当我从列表中删除一个元素时它会崩溃 它将错误类型的convertView发送到getView public View getView int position Vie
  • @csrf_exempt 在 Django 1.4 中停止工作

    我有以下代码 在 Django 1 2 5 中运行良好 from django views decorators csrf import csrf exempt class ApiView object def call self requ