警告:可能已过期
在
settings.py下面表示Heroku的文档的内容时,这个答案最初写于2015年虽然我比较肯定的
ALLOWED_HOSTS这里介绍的设置是安全的,请咨询向上最新文档复制任何这些设置的休息之前!
原始答案如下。请参阅下面的详细信息。
按照Heroku上的Django入门,这正是您应该执行的操作:
settings.py
# Parse database configuration from $DATAbase_URLimport dj_database_urlDATAbaseS['default'] = dj_database_url.config()# Honor the 'X-Forwarded-Proto' header for request.is_secure()SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')# Allow all host headersALLOWED_HOSTS = ['*']# Static asset configurationimport osbase_DIR = os.path.dirname(os.path.abspath(__file__))STATIC_ROOT = 'staticfiles'STATIC_URL = '/static/'STATICFILES_DIRS = ( os.path.join(base_DIR, 'static'),)2018更新
上面的链接不再起作用,因为如今Heroku对其“入门指南”文档的格式有所不同,提供了预先构建的示例存储库,而不是文档中的代码示例。当前的Python
Getting Started Repo具有
ALLOWED_HOSTS =[],但也有
DEBUG = True,根据Django
2.1文档,它会触发一种特殊情况,其中
ALLOWED_HOSTS = ['localhost', '127.0.0.1', '[::1]']
由于
DEBUG = True是 不推荐或根本是个好主意
在生产中,这个答案原来的建议仍然有效,作为一个应用程序的Heroku生产就绪的解决方案。在决定做什么之前,请确保您已阅读并理解Charlie
Weems的简短回答。
全面披露:我尚未在最新版本的Django中构建过生产性的Heroku应用。YMMV :)



