2013-03-14 82 views

回答

9

只需在項目的根級templates目錄中創建一個404.html文件。

2

首先,你需要編輯settings.py指向一個模板文件夾: Django template Path

後,您必須在模板文件夾內的404.htm,你可以按照下面的說明:

它這對於通知搜索引擎當前頁面是404是很重要的。你可以通過改變http頭來做到這一點。所以這裏是一個很好的路要走:

到應用程序的urls.py地址:

# Imports 
from django.conf.urls.static import static 
from django.conf.urls import handler404 
from django.conf.urls import patterns, include, url 
from yourapplication import views 

## 
# Handles the URLS calls 
urlpatterns = patterns('', 
    # url(r'^$', include('app.homepage.urls')), 
) 

handler404 = views.error404 

到應用程序的views.py地址:

# Imports 
from django.shortcuts import render 
from django.http import HttpResponse 
from django.template import Context, loader 


## 
# Handle 404 Errors 
# @param request WSGIRequest list with all HTTP Request 
def error404(request): 

    # 1. Load models for this view 
    #from idgsupply.models import My404Method 

    # 2. Generate Content for this view 
    template = loader.get_template('404.htm') 
    context = Context({ 
     'message': 'All: %s' % request, 
     }) 

    # 3. Return Template for this view + Data 
    return HttpResponse(content=template.render(context), content_type='text/html; charset=utf-8', status=404) 

祕訣是在上line:status = 404

希望它有幫助!

我期待看到社區對這種方法的投入。 =)