handler404 返回服务器错误 (500) 而不是 404.html

我在这段代码上花了几个小时,但无法找出为什么我在 Django 程序中收到服务器错误 (500) 而不是 404.html。请看下面的代码,有人可以帮忙吗?


settings.py: 

DEBUG = False

ALLOWED_HOSTS = ['*']


urls.py: (app is mysite)

handler404 = "mysite.views.error_404"


views.py: 

def error_404(request, exception):

    return render(request, '404.html')

404.html:

{% extends "base.html" %}

{% load static %}

{% block main %}


some html text here


{% endblock %}


来自日志的错误消息: 

http://img.mukewang.com/638ee5b70001f24c04470042.jpg

www说
浏览 143回答 3
3回答

呼唤远方

尝试从 404 页面中删除所有扩展命令,并呈现一个没有 Django 扩展的纯 HTML 页面。

忽然笑

我遇到了同样的 500 错误并弄清楚哪里出错了,404.html 没有正确加载,因为它不知道从主 urls.py 中的哪里获取它,在设置中模板 = [...'DIRS' = [BASE_DIR / '模板'],...]BASE_DIR 是 pathlib 格式,只是添加了模板,如下图所示

不负相思意

也许404文件的路径:def error_404(request, exception):    return render(request, 'mysite/404.html') # Instead of only '404.html'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python