2

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 模板正在工作,但在返回 404 之前,平面中间件似乎没有检查平面模型中的 URL。

有没有其他人经历过这个和/或找到解决方案?这是一个测试版,所以当我输入时,也许一个解决方案正在开发中。我正在使用 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',
)
4

2 回答 2

2

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

于 2009-07-20T10:33:16.273 回答
0

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

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

于 2009-07-08T23:05:58.913 回答