2015-06-16 56 views
4

我想創建自己的404頁面。 在settings.py我已經加入:Django 1.8如何創建我自己的404頁面?

DEBUG = TEMPLATE_DEBUG = False 

ALLOWED_HOSTS = ['*',] 

在urls.py:

handler404 = 'blog.views.handler404' 

在views.py:

def handler404(request): 
    return render(request, 'blog/404.html') 

而且我已經創建了404.html文件。

當我啓動服務器我寫:

python manage.py runserver --insecure 

--insecure是提供靜態文件(否則是廢話)。但如果我去現有的頁面,我得到:

<h1>Not Found</h1><p>The requested URL /post/9/ was not found on this server.</p> 

我該如何解決這個問題? 我使用Django 1.8說不上來,如果這改變任何東西

+0

你可以把你的自定義500.html/404.html在你的模板目錄和Django會使用這些模板爲渲染而不是默認的Django模板。 –

+0

但它不起作用 – pptt

+0

404.html是否與base.html位於同一目錄?否則,你的模板路徑不正確 –

回答

1

你不應該需要urls.py.什麼轉到你的根views.py並在那裏添加你的handler404方法,並單獨留下urls.py。

編號:Django, creating a custom 500/404 error page

另外,我沒有看到你的TEMPLATE_DIRS變量,即

TEMPLATE_DIRS = (
    '/path/to/template/files/', 
    '/path/to/more/template/files/' 
) 

需要確保您在../blog/模板..越來越正確找到。就我個人而言,我會特別將其添加爲子目錄。

+0

你好,我沒有模板目錄變量。我添加了一個新的 - TEMPLATE_DIRS =(os.path.join(BASE_DIR,'blog/templates/blog /'),它是一樣的 – pptt

相關問題