2

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',
)
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 に答える