Django - 500 内部服务器错误

0 投票
1 回答
26644 浏览
提问于 2025-04-16 22:45

我现在想做的是在我的Django服务器上创建一个404错误页面。要查看这个404错误页面,你需要把Django的调试模式关掉。所以当我把设置改成“DEBUG = False”时,我可以看到我的网页,并且在访问一个服务器上没有的页面时,可以看到404错误页面。我回到主页,用Firebug工具发现我遇到了一个

网络错误:500 内部服务器错误

这个错误让我无法从Django获取数据。不过,当我把“DEBUG = False”改成“DEBUG = True”时,一切又都正常了。

有没有什么线索呢?

补充:完整错误信息

“网络错误:500 内部服务器错误 - http://localhost:8000/static/ext-4.0.2a/resources/css/ext-all.css

再补充:我之前对错误的描述有点保守。我会看看静态文件的服务情况,不过这是完整的错误信息

"NetworkError: 500 INTERNAL SERVER ERROR - http://localhost:8000/static/ext-4.0.2a/resources/css/ext-
"NetworkError: 500 INTERNAL SERVER ERROR - http://localhost:8000/static/ext-4.0.2a/bootstrap.js"
"NetworkError: 500 INTERNAL SERVER ERROR - http://localhost:8000/static/example-data.js"
"NetworkError: 500 INTERNAL SERVER ERROR - http://localhost:8000/static/StatusBar.js"
"NetworkError: 500 INTERNAL SERVER ERROR - http://localhost:8000/static/LiveSearchGridPanel.js"
"NetworkError: 500 INTERNAL SERVER ERROR - http://localhost:8000/static/frontend.js"
"NetworkError: 500 INTERNAL SERVER ERROR - http://localhost:8000/static/InspectHostPanel.js"
"NetworkError: 500 INTERNAL SERVER ERROR - http://localhost:8000/static/InspectGuestPanel.js"
"NetworkError: 500 INTERNAL SERVER ERROR - http://localhost:8000/static/StatusBar.js"
"NetworkError: 500 INTERNAL SERVER ERROR - http://localhost:8000/static/LiveSearchGridPanel.js"
"NetworkError: 500 INTERNAL SERVER ERROR - http://localhost:8000/static/frontend.js"
"NetworkError: 500 INTERNAL SERVER ERROR - http://localhost:8000/static/InspectHostPanel.js"
"NetworkError: 500 INTERNAL SERVER ERROR - http://localhost:8000/static/InspectGuestPanel.js"

所以这个问题不是出在某个特定的类上,而是无法从Django获取数据。个人感觉它是试图从网络服务器获取,而不是从文件夹里获取。

1 个回答

1

对于django 1.5及以上版本,在你的settings.py文件中,如果你想快速解决问题,可以把配置改成 ALLOWED_HOSTS = ['*']。

但如果你真的要上线(并且关心安全问题),就应该把允许的主机名放到 ALLOWED_HOSTS 里。

这个链接有更多信息:

设置 DEBUG = False 会导致 500 错误

撰写回答