首页 > 解决方案 > 将 Django 部署到 Heroku - 尽管 DJANGO_ALLOWED_HOSTS 中有 Heroku URL,但出现 DisallowedHost 错误

问题描述

我已经在这几个小时了,需要帮助。最初我认为是因为我错误地做了一些小事导致了它,所以我删除了应用程序,并创建了所有东西——虚拟环境、heroku 应用程序、django 项目/应用程序——新鲜。

我犯了同样的错误。

我制作了一个 cookiecutter django 应用程序并将其部署到 heroku。一切顺利,直到实际使用该站点的时间。

当我运行 heroku open 时,我收到 DisallowedHosts 错误:

DisallowedHost 在 /

无效的 HTTP_HOST 标头:“MY-NEW-APP.herokuapp.com”。您可能需要将“MY-NEW-APP.herokuapp.com”添加到 ALLOWED_HOSTS。

heroku 配置显示 DJANGO_ALLOWED_HOSTS=MY-NEW-APP.herokuapp.com。我不会在我的设置文件中覆盖它。

我的设置文件中有 import django_heroku 和 django_heroku.settings(locals()) 。

DJANGO_SETTINGS_MODULE 已正确设置为该文件。

更重要的是,当我的设置文件和 heroku 环境中的 DEBUG=False 时,我会收到关于 DEBUG=True 的警告。

我错过了什么?连字符是坏事吗?我应该使用 herokuapp.com 而不是完整的 URL 吗?

标签: pythondjangoherokuconfigsettings

解决方案


解决了我自己的问题。我只需要:

heroku config:set DJANGO_ALLOWED_HOSTS=.MY-NEW-APP.COM,MY-NEW-APP.herokuapp.com,.herokuapp.com

推荐阅读