Django flatpages アプリケーションには、プロジェクトのテンプレート ディレクトリに存在しない404.htmlの「Page Not Found」テンプレートに関連する、よく知られており、Web 上で頻繁に議論されるバグがあります。settings.pyファイルにDEBUG = False があり、 404.htmlファイルがない場合、プロジェクトは404.htmlテンプレートを見つけようとするため、フラットページはフラットページをロードする代わりに 500 サーバー エラーを生成します。そこにないため、500が生成されます。
私の問題はこれとは異なります。テンプレート ディレクトリに404.htmlがあり、プロジェクトにフックされ、ミドルウェアが接続され、SITE_ID が各フラットページに対して正しく、templates/flatpages/default.htmlファイルが存在します。
フラットページを読み込もうとすると、カスタム404.htmlエラー ページが返されます。したがって、404 テンプレートは機能していますが、フラットページ ミドルウェアは、404 にフォールバックする前に、フラットページ モデルの URL をチェックしていないようです。
他の誰かがこれを経験したり、解決策を見つけたりしましたか? これはベータ版なので、入力中に解決策が見つかる可能性があります。Django 1.1 ベータ 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',
)