使用 @require_POST 时如何在 Django 中显示 HTTP 状态 405(不允许的方法)的自定义错误页面

2024-01-27

我的问题很简单,当使用 Django 时,如何显示 HTTP 状态 405(方法不允许)的自定义错误页面@require_POST装饰师?

我正在使用django.views.decorators.http.require_POST装饰器,当通过 GET 请求访问页面时,控制台显示 405 错误,但页面只是空白(甚至没有 Django 错误页面)。如何让 Django 显示此类错误的自定义和/或默认错误页面?

编辑: 值得一提的是,我尝试将 404.html、500.html 和 405.html 页面放入我的模板文件夹中 - 但这也没有帮助。我也有所不同DEBUG = True and False,无济于事。


您必须编写自定义 Django 中间件。您可以从这个开始并扩展它以检查 405.html 文件是否存在等等:

from django.http import HttpResponseNotAllowed
from django.template import RequestContext
from django.template import loader


class HttpResponseNotAllowedMiddleware(object):
    def process_response(self, request, response):
        if isinstance(response, HttpResponseNotAllowed):
            context = RequestContext(request)
            response.content = loader.render_to_string("405.html", context_instance=context)
        return response

如果您不知道如何安装中间件,请检查文档:

http://docs.djangoproject.com/en/dev/topics/http/middleware/ http://docs.djangoproject.com/en/dev/topics/http/middleware/

您还可以查看这篇文章:

http://mitchfournier.com/2010/07/12/show-a-custom-403-forbidden-error-page-in-django/ http://mitchfournier.com/2010/07/12/show-a-custom-403-forbidden-error-page-in-django/

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

使用 @require_POST 时如何在 Django 中显示 HTTP 状态 405(不允许的方法)的自定义错误页面 的相关文章

随机推荐

  • 在 Windows 10 IoT 上使用 UWP 进行 LDAP 查询

    经过几个小时的搜索后 似乎无法从 UWP 应用程序查询本地 LDAP 目录 Microsoft Active Directory 或其他 这似乎是 UWP 产品中的一个相当奇怪的漏洞 因此我希望我只是错过了明显的漏洞 通用 Windows
  • 如何在构建的电子应用程序中获取开发工具?

    是否可以在构建的电子应用程序中显示开发工具 我使用构建的可执行文件electron packager与使用运行的应用程序的行为不同electron在命令行中 我无法看到抛出了哪些类型的异常 是的 可以在打包的应用程序中显示 DevTools
  • Android:单击时更改按钮颜色

    基本上 我正在尝试创建一个单击时的按钮 注意 NOT按下 会将颜色从 color1 更改为 color2 再次单击时 颜色将从 color2 变回 color1 我疯狂地搜索 我设法提取的唯一信息是如何在按下按钮时改变颜色 即当用户按住按钮
  • 将构造函数添加到 deftype 创建的类中

    为了与 Java 实现互操作性 我需要一个具有执行初始化的空构造函数的类 此类的对象需要具有类似于可变java字段的东西 即该对象代表游戏的后端 并且需要保持游戏状态 deftype 确实一切我想要做except提供一个无效构造函数 因为我
  • 如何检索高质量的指南针方向(如 Google 地图)?

    我发现的所有在 Android 中获取指南针方向的指南都有一个错误 当您以纵向模式握住手机并 看 地平线上方时 指南针箭头会从正确方向旋转 180 度 谷歌地图方向指示器不存在这个问题 谷歌地图的另一个好处是它们可以以某种方式估计指南针的准
  • Vue.js 对数组进行过滤

    我正在尝试使用 vue js 中的计算属性来过滤数组 我想搜索多个字段 名称 状态 标签等 My data events id 1 name Name of event url datetime 2017 05 10T00 00 00Z d
  • 不完整类型的静态字段 - 合法吗?

    在 C 中声明在类定义时不完整的类型的静态字段是否合法 例如 Foo h class Foo public private class Bar static Bar something Foo cpp class Foo Bar Foo B
  • 标准对 char 数组作为模板参数有何规定?

    在我研究答案的过程中这个问题 https stackoverflow com q 57003010 9883438我发现 我之前不知道 gcc 和 clang 允许char如果声明了数组 则它们将成为模板参数static 例如 此代码使用
  • 如何从 ruby​​ 中的反引号命令获取颜色?

    在 ruby 文件中 当我做system rspec file spec rb 我得到一个很好的彩色输出 当我这样做时 result rspec file spec rb puts result 我一点颜色都没有 有什么办法可以保留颜色 顺
  • 过滤文件内容到排序表

    我有一个包含以下代码行的文件 这里的文件显示了一个逐一排序的时间表 at 12 00 the schedule of james version1 is first task eating nothing second task rest
  • Visual Studio 2015(最新更新)发布功能无法编译 ASP.NET Core RC1 源

    几个月前 我开始开发一个新的 ASP NET Core RC1 项目 并使用 Visual Studio 2015 进行发布 生成一个文件夹树 无需项目 C 源代码即可部署 因为它正在将其编译到放入文件夹树的程序集中 现在我已经升级了 Vi
  • 如果 POJO 对象中的可变字段存储在并发HashMap 中,那么该字段是否是线程安全的?

    如果 POJO 对象中的可变字段存储在并发HashMap 中 那么该字段是否是线程安全的 或者我是否需要用锁保护字段或使它们不稳定以确保所有线程都能看到更新 将字段标记为易失性是否足以确保所有线程都能看到更新 如果存储在并发HashMap中
  • java.security.NoSuchAlgorithmException:算法 x25519 不可用

    我收到这段代码的 javax net ssl SSLException 连接重置 ReadableByteChannel rbc Channels newChannel url getInputStream 但仅当在使用 Open JDK
  • Common Lisp:编译与评估

    在带有 sbcl 的 Emacs Slime 上 一旦我在文件中定义了一个函数 或多个 我有两个选择 评估 例如与 C M x eval defun 汇编 例如使用 C c M k 编译文件 第二个也生成一个 fasl 文件 两者有何区别
  • 如何找到带有标题信息的 ELF 文件/图像的大小?

    我需要找到精灵图像的大小进行一些计算 我尝试过在 Linux 上使用 readelf 实用程序 它提供了有关标题和部分的信息 我需要知道精灵的确切文件大小 总体而言 如何从标题信息中找到 ELF 的大小 或者是否有其他方法可以在不读取完整图
  • Java with ajax - ERR_EMPTY_RESPONSE - 服务器处理请求时 Ajax 响应抛出错误

    我在浏览器控制台中收到以下错误 无法加载资源 net ERR EMPTY RESPONSE 我的 ajax 调用适用于所有按钮点击 但是这个error仅用于一个按钮 可以说testExt按钮 单击这些按钮时 后台脚本将运行并执行一些测试 唯
  • 在 PHP 中将实例方法作为参数传递

    我想创建一个监听器类 class Listener var listeners array public function add callable function this gt listeners function public fu
  • Android应用程序中限时启用按钮

    这是一个示例 我希望能够在用户操作后在有限的时间内 假设 30 分钟 启用我的应用程序中的按钮 30 分钟后 此按钮将再次禁用 在 Android 中实现这一目标的最佳方法是什么 因为用户可能会重新启动设备或关闭应用程序 所以我不能简单地使
  • 如何使 LibGDX 桌面默认全屏显示

    我想知道如何使我的桌面应用程序在启动时全屏显示 我是 LibGDX 的新手 非常感谢任何帮助 谢谢 只需定义fullscreen你的领域LwjglApplicationConfiguration LwjglApplicationConfig
  • 使用 @require_POST 时如何在 Django 中显示 HTTP 状态 405(不允许的方法)的自定义错误页面

    我的问题很简单 当使用 Django 时 如何显示 HTTP 状态 405 方法不允许 的自定义错误页面 require POST装饰师 我正在使用django views decorators http require POST装饰器 当