2015-09-10 146 views
1

Normaly Django中查找一個URL中url.py文件... 如果它發現它加載培訓相​​關的HTML網頁,如果沒有找到它顯示: Page not found (404)與味精:如何將django鏈接到我自己的404錯誤頁面?

你看到這個錯誤,因爲你的Django 設置文件中有DEBUG = True。將其更改爲False,並且Django將顯示一個 標準404頁面。

我想更改django顯示的標準404 page。我有一個我創建的HTML頁面PageNotFound.html我希望Django每次出現Page not found (404)時顯示DEBUG = False。我怎麼做?

回答

2

爲了在Django返回404時顯示自定義HTML,您可以創建一個名爲404.html的HTML模板,並將其放置在模板樹的頂層。此模板將在DEBUG設置爲False時提供。

https://docs.djangoproject.com/en/dev/topics/http/views/#the-404-page-not-found-view

此外,還有一個有用部分 「定製錯誤視圖」。

而如果您想在測試模板時轉動DEBUG = False,則可以運行manage.py runserver --insecure。 即使DEBUG設置爲False,它也會強制Django使用staticfiles應用程序提供靜態文件。但請注意,它僅用於本地開發,可能不安全。你可以閱讀更多關於這個選項here

0

下面是來自Django的文檔報價:

這個模板應該叫404.html,位於模板樹的頂層。

查看全文here;對於非1.8文件,它應該在這裏的某個地方:寫入視圖>返回錯誤> Http404異常

0

您應該創建以下觀點:

def custom404(request): 
    return render(request, '404.html', status=404) 

而且它具有以下建設urls.py連接:

handler404 = 'path.to.views.custom404'