这是我的views.py
def handler_404(request):
return render(request, '404.html', status=404)
def handler_500(request):
return render(request, '500.html', status=404)
这是我的urls.py
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
from finish.views import handler_404,handler_500
from django.conf.urls import (
handler400,
handler403,
handler404,
handler500
)
urlpatterns = [
path('', include("scrap.urls")),
path('', include("details.urls")),
path('', include("finalize.urls")),
path('', include("finish.urls")),
] + static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
handler404 = handler_404
handler500 = handler_500
当我输入一些不存在的网址时 它是“服务器错误(500)”而不是“页面未找到(404)”错误。
请看看这个。...
答案 0 :(得分:0)
老问题了,但是请您改写Nico的answer。我花了太多的时间去找到那个。
我正在运行Django 3.0.2,总而言之,我做到了: 产品-urls.py
from django.conf.urls import url, include, handler404
import app.views
urlpatterns = [
.
.
.
]
handler404 = app.views.error_404
应用-views.py
.
.
.
def error_404(request, exception):
return render(request,'app/404.html', status = 404)
在阅读了许多教程之后,我发现其中大多数都忽略了例外情况
然后将404.html放入您的app / templates / app文件夹
希望有人觉得这有用。