django - 自定义错误页面出现 django 500 错误而不是 404
问题描述
这是我的意见.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)”错误。
请看看这个....
解决方案
老问题,但不适将您重定向到 Nico 的答案。我花了太多时间找到那个。
我正在运行 django 3.0.2,总结起来我这样做了: prodject - 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)
看了很多教程,发现大部分都省略了异常
然后在你的 app/templates/app 文件夹中放一个 404.html
希望有人觉得这很有用..
推荐阅读
- math - 是n!按照 Theta((n+1)!) 的顺序?你能给我证明吗?
- r - R中的“没有足够的x观察”意味着什么?
- html - 标题、hr 和 btn 在同一行
- javascript - 类构造函数中的原型属性
- pyspark - 在 pyspark 中将集合聚合成更大的集合
- python - 如何从数据框中删除 NaN 值?
- asp.net-core - 无法让 AddAccessTokenManagement() 使用来自 AddDistributedSqlServerCache() 的缓存服务
- javascript - 在 JavaScript 中获取 Promise 返回的值
- robotframework - 如果使用“或”,如何制作运行关键字?
- sql - 将逻辑应用于行集