【问题标题】:Server error (500) when trying to deploy django app with DEBUG=False on heroku尝试在 heroku 上使用 DEBUG=False 部署 django 应用程序时出现服务器错误 (500)
【发布时间】:2021-10-19 05:49:05
【问题描述】:

我正在尝试在 heroku 上部署一个 django 应用程序。当 DEBUG 变量为 False 时,我收到服务器错误 (500)。当 DEBUG 为 True 时,一切正常。如何解决这个问题呢 ? 以下是一些日志:

2021-08-17T10:15:08.603841+00:00 app[web.1]: 10.1.59.205 - - [17/Aug/2021:10:15:08 +0000] "GET /connexion?next=/ HTTP/1.1" 500 145 "-" "Mozilla/5.0 (Windows NT 10.0;
Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"
2021-08-17T10:15:08.603943+00:00 heroku[router]: at=info method=GET path="/connexion?next=/" host=pnl-testapi.herokuapp.com request_id=edc211c1-244d-49ad-aac6-6e2c1d9
cf5c0 fwd="160.119.178.105" dyno=web.1 connect=0ms service=63ms status=500 bytes=403 protocol=https

【问题讨论】:

  • 请提供错误日志。 500 错误表示服务器端出现问题,但如果没有有关该错误的更多信息,则无法回答您的问题
  • 是的。当我安装和配置 whitenoise 时开始返回此错误。

标签: python django


【解决方案1】:

您是否在 settings.py 的 ALLOWED_HOSTS 变量中添加了您的域?

ALLOWED_HOSTS = ['.herokuapp.com']

编辑:您已添加网络服务器的访问日志,请同时添加异常。您是否尝试过在本地运行项目以便快速轻松地访问控制台?

【讨论】:

  • 这里是本地错误消息:[17 / Aug / 2021 13:15:01] "GET / HTTP / 1.1 connection" 500 145。
【解决方案2】:

修复尝试在 heroku 上使用 DEBUG=False 部署 django 应用程序时出现的服务器错误 (500)

pip 安装白噪声

编辑您的 settings.py 文件并将 WhiteNoise 添加到 MIDDLEWARE 列表中,高于除 Django 的 SecurityMiddleware 之外的所有其他中间件:

MIDDLEWARE = [
  # 'django.middleware.security.SecurityMiddleware',
  'whitenoise.middleware.WhiteNoiseMiddleware',
  # ...
]

如果您安装了django-heroku,请尝试将其注释掉,并将django_heroku.settings(locals()) 注释掉。

你可以把你的DEBUG = False 重新部署到 Heroku。 这种方法实际上对我有用。你可以试试看。

您也可以阅读whitenoise 文档:http://whitenoise.evans.io/en/stable/

【讨论】:

    猜你喜欢
    • 2017-10-20
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 2019-02-18
    • 2023-03-20
    • 2019-12-01
    • 2021-11-03
    • 1970-01-01
    相关资源
    最近更新 更多