【发布时间】:2015-11-06 00:12:07
【问题描述】:
我正在尝试在 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')
还有: urls.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
我不知道为什么只有 403 没有。 谢谢。
【问题讨论】:
-
对我有用,应该不需要覆盖任何代码。你的确切 django 版本是什么,你的模板设置是什么样的,你有没有在 403 处理程序中设置断点来查看发生了什么?
-
我的 Django.version 是 (1, 5, 0, 'final', 0) 。我还没有断点处理程序。
-
您使用 Django 1.5 的任何特殊原因?在两周的时间内,它会在一整年都不受支持djangoproject.com/download
-
django 中 403 处理程序的最新文档在这里 docs.djangoproject.com/en/1.11/topics/http/views/…
标签: python django templates http-status-code-403 django-csrf