【问题标题】:Django 1.1 beta 1 - Flatpages Error, Debug = False, with 404.htmlDjango 1.1 beta 1 - Flatpages 错误,Debug = False,带有 404.html
【发布时间】:2010-10-30 13:53:05
【问题描述】:

Django flatpages 应用程序有一个众所周知且经常在网上讨论的错误,该错误与您项目的模板目录中缺少的 404.html“页面未找到”模板有关。如果您的 settings.py 文件中有 DEBUG = False,并且您缺少 404.html 文件,则平面页面将生成 500 服务器错误,而不是加载平面页面因为项目试图找到 404.html 模板,并生成了 500,因为它不存在。

我的问题与此不同。我的模板目录中有一个 404.html,连接到我的项目中,连接了中间件,每个平面页面的 SITE_ID 都是正确的,templates/flatpages/default.html 文件存在。

当我尝试加载任何平面页面时,我的自定义 404.html 错误页面返回给我。因此,404 模板正在工作,但平面中间件似乎没有检查平面模型中的 URL,然后才退回到 404。

有其他人经历过这种情况和/或找到解决方案吗?这是一个测试版,所以当我输入时,可能正在开发一个解决方案。我正在使用 Django 1.1 beta 1。

这是我的整个 MIDDLEWARE_CLASSES:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
    'djangodblog.DBLogMiddleware',
    'ecomstore.SSLMiddleware.SSLRedirect',
    'ecomstore.marketing.urlcanon.URLCanonicalizationMiddleware',
    'django.contrib.redirects.middleware.RedirectFallbackMiddleware',
)

【问题讨论】:

  • 您能发布完整的 MIDDLEWARE_CLASSES 设置吗?

标签: django django-flatpages


【解决方案1】:

我今天遇到了类似的问题。经过大量检查后,我终于通过为有问题的平面页面打开“启用 cmets”(在管理界面中)来修复它......

在页面http://www.petersanchez.com/2007/08/19/django-flatpages-wtf/ Peter Sanchez 列出了 4 项检查,但对我来说没有帮助。

【讨论】:

  • 您好 Peter,我为我的三个平面页面尝试了“启用 cmets”,但它并没有解决我的问题。我之前也遇到过那个帖子,它也没有帮助我。感谢分享。
【解决方案2】:

我浏览了平面页面资源并通过在管理区域的页面 URL 末尾添加斜杠解决了同样的问题。

【讨论】:

  • 哈哈,真的。我现在浪费了一个小时来解决这个错误。我还必须在前面加上一个斜线。感谢您的提示
猜你喜欢
  • 2011-11-16
  • 2015-05-10
  • 2017-01-20
  • 2021-11-03
  • 2018-04-16
  • 2022-01-08
  • 2021-08-13
  • 2020-12-14
  • 2021-11-05
相关资源
最近更新 更多