【发布时间】: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 设置吗?