Django - 自定义 403 模板

2024-03-11

我正在尝试在 Django 1.5 中使用我的 403, 404, 500 自定义模板。 404 和 500 工作完美,但 403 仍然向我展示内置的 Django 403 模板。

我将所有三个模板都放在项目的根模板目录中。 它们被命名为:403.html、404.html、500.html

我也尝试使用:

urls.py:

 from django.utils.functional import curry
 handler403 = curry(permission_denied, template_name='403.html')

并且: 网址.py:

handler403 = 'proj_name.views.my_custom_permission_denied_view'

项目名称/views.py

def my_custom_permission_denied_view(request):
    return ethoos_response('403.html', None, request)

这两种方法都不起作用。同样在 404 和 500 中,我没有使用这些方法,只使用模板目录中的模板,并且显示它们。

根据 Django 的文档,这三个工具应该以相同的方式工作。https://docs.djangoproject.com/en/1.5/topics/http/views/#the-403-http-forbidden-view https://docs.djangoproject.com/en/1.5/topics/http/views/#the-403-http-forbidden-view

我不知道为什么只有 403 不这样做。 谢谢。


对于常规 403 权限被拒绝页面,创建403.html模板应该可以工作。

但是,对于 CSRF 错误(也返回状态代码 403),您应该创建一个403_csrf.html模板代替。

创建一个403_csrf.html模板适用于 Django 1.10+。对于早期版本,您必须更改CSRF_FAILURE_VIEW https://docs.djangoproject.com/en/stable/ref/settings/#csrf-failure-view设置为您要使用的视图。

See the CSRF 文档 https://docs.djangoproject.com/en/stable/ref/csrf/#rejected-requests了解更多信息。

讨论 https://groups.google.com/d/msg/django-developers/O2raF0RVGA0/44-3Jz0jCwAJ关于为什么 CSRF 失败视图在本周 Django 开发者邮件列表中表现不同。

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

Django - 自定义 403 模板 的相关文章

随机推荐

  • Symfony 5 更新后 Laravel 7 电子邮件异常中断

    我已经升级到 Laravel 7 1 现在 Symfony 5 这些类不再存在 use Symfony Component Debug Exception FlattenException use Symfony Component Deb
  • 具有两列的 Flex 容器;第二列有四行

    我在 Flex 中显示以下布局时遇到困难 我有 5 个盒子 我想将容器一分为二 其中一个盒子垂直显示 另外 4 个垂直显示 这是我的 CSS trades trade panel flex 1 layout 4 5 flex directi
  • matlab中writetable用空格替换NaN

    给定一个包含许多NaN 如何将此表编写为 excel 或 csv 文件 其中 NaN 被空格替换 我使用以下函数 T table NaN 5 2 VariableNames A C writetable T filename 我不想用零替换
  • 如何正确使用 Angular 5 中的 FileSaver?

    我正在尝试使用文件上传功能将文件保存到文件系统 由于该文件是 Angular 应用程序所必需的 而不是后端 rest api java 所必需的 所以我决定将其保存在前端应用程序中 这意味着内部的某处 角度应用程序中的资产文件夹 我已经安装
  • useRef() 与仅声明变量相比有哪些优点?

    查看 hooks 文档和一些博客 我们了解到 当使用 useRef 时 我们存储了一个可变值 Docs https reactjs org docs hooks reference html useref 您可能熟悉 ref 主要作为访问
  • 将数据从 Activity 发送到 Service

    如何从当前发送数据Activity到背景Service在特定时间运行的课程 我尝试进入Intent putExtras 但我没有把它放进去Service class Code in Activity调用的类Service Intent mS
  • 在 iOS 中创建包含行和列的表格

    I would like to create a table in iOS that have some rows and columns We also have an option to add amounts to the table
  • 无法在 Mac 上安装图表/arithmoi

    我正在尝试安装diagrams 在阴谋集团沙箱中 并且它在期间失败arithmoi安装 给出以下消息 Preprocessing library arithmoi 0 4 1 1 no location info gt Warning Co
  • Android Studio预览片段

    我有以下布局文件
  • C#-Excel 互操作性

    我想从 C 4 0 VS 2010 Express Edition 调用 Excel Sheet 当我宣布 Microsoft Office Interop Excel ApplicationClass excel new Microsof
  • 将应用服务器从 GCM 迁移到 FCM 时,旧客户端会发生什么情况?

    我正在考虑迁移到 FCM 客户端的事情相当简单 您移动一些代码并完成它 但是 在应用程序服务器上 出于显而易见的原因 我还需要支持较旧的客户端 我需要知道将 GCM 项目迁移到 FCM 时会发生什么 FCM 是否也会自动将消息转发到基于 G
  • 如何从opencv中的图像中删除多余的空白? [复制]

    这个问题在这里已经有答案了 我有以下图像 这是一张收据图像 收据周围有很多空白区域 我想裁剪空白区域 我无法手动裁剪它 所以我正在寻找一种可以做到这一点的方法 剪了一张 从以下帖子中尝试了此代码 如何在 OpenCV 中删除图像中的空白 h
  • PHP 的同步 AMQP

    PHP 能否像 RPC 服务一样对待 AMQP 发送消息并阻塞直到返回回复 是否有任何好的示例 是否有任何库以易于使用的方式包装此类功能 我希望拥有代理消息传递系统的灵活性 但避免 Web 层需要了解其异步性质 当然 绝对 看看 RPC 风
  • Automapper:手动映射属性

    我刚刚开始使用 automapper 来映射 DTO实体 它似乎工作得很好 在某些特殊情况下 我只想映射某些属性并执行额外的检查 如果没有自动映射器 代码如下所示 使用fasterflect的PropertyExtensions objec
  • 显示提交 A 已打开且提交 B 未打开的所有分支?

    我有多个分支 并且发现了一个提交 A 它向系统引入了一个错误 随后 这个问题被其中一个分支上的提交 B 修复并合并回 master 但当时它并没有被挑选到所有有问题的分支 我想知道是否有一个命令可以显示所有有提交 A 但没有提交 B 的违规
  • CodeIgniter DB 会话问题:sess_expire_on_close

    当 CI 的会话存储在数据库中时 我遇到了一个非常奇怪的问题 我使用会话来存储有关用户是否登录我的网站的信息 由于某种原因 我的一个来自立陶宛的朋友 我提到了这个国家 以防它以某种方式相关 无法登录 当我监视会话表时 她似乎正在为她访问的每
  • Ruby 可以与 r 交互吗?

    一位朋友需要为她的博士学位做一些 R 编程 由于我是一名程序员 所以请我帮助她 所以我看了一些r http www r project org related http www programmingr com webstuff http
  • 如何在Spring Boot测试中强制事务提交?

    如何在 Spring Boot 中强制事务提交 使用 Spring Data 运行方法时 and not方法之后 我读过这里应该可以 Transactional propagation Propagation REQUIRES NEW 在另
  • 如何对浮点数和复数进行近似结构模式匹配

    我读过并理解浮点数舍入问题 https docs python org 3 tutorial floatingpoint html例如 gt gt gt sum 0 1 10 1 0 False gt gt gt 1 1 2 2 3 3 F
  • Django - 自定义 403 模板

    我正在尝试在 Django 1 5 中使用我的 403 404 500 自定义模板 404 和 500 工作完美 但 403 仍然向我展示内置的 Django 403 模板 我将所有三个模板都放在项目的根模板目录中 它们被命名为 403 h