Django自定义404/500错误页面无法显示,寻求技术帮助
解决Django自定义404/500错误页面不生效的问题
先修正几个关键错误:
1. 修正urls.py中的拼写错误
你的urls.py里handle500拼写错误,应该是handler500(多一个字母r),正确配置如下:
handler404 = views.error_404 handler500 = views.error_500
2. 调整500错误视图的参数
Django的500错误视图不需要接收exception参数,修改views.py中的error_500函数:
def error_500(request): return render(request, '500.html', status=500)
3. 确认模板文件位置正确
确保404.html和500.html放在项目的根模板目录下(比如templates/文件夹的根目录),而非某个app的子模板文件夹里。如果配置了自定义模板路径,需保证这些错误模板能被Django检索到。
4. 检查基础配置完整性
- DEBUG设为False时,
settings.py中必须正确配置ALLOWED_HOSTS,示例:ALLOWED_HOSTS = ['localhost', 'your-domain.com'] - 确认urls.py已正确导入views模块,比如:
from . import views
完成上述修改后重启服务器,再次测试错误页面即可生效。
内容的提问来源于stack exchange,提问作者Rno
相关产品推荐
相关产品推荐

