10

おそらく、django-cms を使用する場合のサーバー 403/404/500 エラー ページに対する簡単なタスクです。これを作成するには、古いフォーラム投稿の指示に従いました。

from cms.views import details

def custom_404(request):
    response = details(request, 'page-not-found')
    response.status_code = 404
    return response
...

Urls.py には次のような行があります。

handler404 = 'error_pages.views.custom_404'
...

トレースバック django cms から 404 ページが見つかりません:

File "/home/username/.virtualenvs/venv/lib/python2.7/site-packages/cms/views.py", line 22, in _handle_no_page
    raise Http404('CMS: Page not found for "%s"' % slug)

Http404: CMS: Page not found for "page-not-found"

スラッグ「page-not-found」を使用して、django-cms に必要なカスタム ページを明らかに追加しました。明らかな何かが欠けていますか?を使用して本番サーバーで実行していますdebug=False。django-cms 2.4.2 の実行 (編集)

おそらく、ハードコーディングされたスタイルシートを使用して、単純なエラー メッセージを表示する方がよいでしょうか?

4

3 に答える 3

3

以下は、動作する (DEBUG が True または False の場合) 404 ハンドラーです。

def handler404(request):
    if hasattr(request, '_current_page_cache'):
        delattr(request, '_current_page_cache')

    response = details(request, '404')
    response.status_code = 404
    return response
于 2014-04-01T12:42:27.963 に答える