使用 django-cms 时,服务器 403/404/500 错误页面可能是一项微不足道的任务。按照旧论坛帖子上的说明创建此内容:
from cms.views import details
def custom_404(request):
response = details(request, 'page-not-found')
response.status_code = 404
return response
...
Urls.py 有一些这样的行:
handler404 = 'error_pages.views.custom_404'
...
从 traceback django cms 找不到 404 页面:
File "/home/username/.virtualenvs/venv/lib/python2.7/site-packages/cms/views.py", line 22, in _handle_no_page
raise Http404('CMS: Page not found for "%s"' % slug)
Http404: CMS: Page not found for "page-not-found"
显然,在 django-cms 中使用 slug 添加了所需的自定义页面:'page-not-found'。我错过了一些明显的东西吗?在生产服务器上运行debug=False
. 运行 django-cms 2.4.2(编辑)
也许用硬编码的样式表提供简单的错误消息会更好?