将Django项目部署到Heroku时,如何解决服务器错误(500)?

时间:2020-06-14 23:11:44

标签: python django heroku

我的Django项目在本地运行良好,但是一旦我要部署到Heroku,我就将这段代码包含在我的settings.py文件中:

ENV_TYPE = os.environ.get('ENV_TYPE')

if ENV_TYPE == "HEROKU":
    DEBUG = False

现在,当我在本地运行python manage.py runserver时,会在浏览器中看到一个Server Error (500)。但是,一旦我将DEBUG更改为True,一切都会很好。

可能是什么问题?

请注意,我设置了DEBUG = True,但是仍然无法查看错误日志。它显示白色屏幕,顶部是Server Error (500)

1 个答案:

答案 0 :(得分:0)

在我的项目中(在另一个分支中)玩转之后,我终于能够解决此问题。

由于在浏览器中没有收到Server Error (500)之外的任何错误消息,因此我通过在500.html文件夹的根目录中添加自定义的templates来更改默认的500错误页面。直到那时我才能够看到项目的实际错误。

我在终端中看到的错误是ValueError: Missing staticfiles manifest entry for 'pages/img/favicon.ico'。我使用命令python manage.py collectstatic --clear解决了这个问题。 (请参见Django docs中的更多详细信息)

我再次运行服务器,一切正常。