當在django的view中引發一個Http404異常之后,Django會加載一個處理404錯誤的特殊view。它在你的根URLconf中查找處理404錯誤的handler404(並且只能在根URLconf中查找),404 view的本身和其他view一樣,沒什么特別的。
通常不需要寫404view,如果沒有設置handler404,內置的django.views.defaults.page_not_found()會被默認調用。在這種情況下,你可以在模板的根目錄下創建一個404.html文件。對所有出現的404錯誤,默認的404 view將會使用這個文件作為模板。如果settings里面的DEBUG設置為False,並且不創建404.html文件的話,會出現一個Http500錯誤,所以創建一個404.html模板文件是很有必要的。如果DEBUG設置為True,那么404view將不會被用到,因此404.html模板也不會被渲染,取而代之的將是瀏覽器上出現的traceback錯誤。在django的URLconf中無法匹配任何一個正則表達式時也會調用404view