首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Heroku为什么我的生产数据库可以工作,即使没有在settings.py - Django中列出?

Heroku为什么我的生产数据库可以工作,即使没有在settings.py - Django中列出?
EN

Stack Overflow用户
提问于 2020-05-08 07:11:33
回答 1查看 119关注 0票数 0

几个月前,我在Heroku配置了我的数据库,所以不记得我所采取的确切步骤。我正在使用Heroku插件:https://devcenter.heroku.com/articles/heroku-postgresql

我在Heroku中列出了一个作为配置变量的DATABASE_PASS。我有一个用于DATABASE_URL的配置变量

在我的settings.py文件中,我只有以下内容,因为它与我的数据库有关。如果DATABASES变量仅指本地主机,为什么我的应用程序仍然在Heroku上工作?

代码语言:javascript
复制
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'my_dev',
        'USER': 'postgres',
        'PASSWORD': os.environ.get('DATABASE_PASS'),
        'HOST': 'localhost',
        'PORT': '5410',
    }
}

Heroku-Postgres文件规定如下:

应用程序的DATABASE_URL配置变量的值在任何时候都可能发生变化。无论是在Heroku应用程序内部还是外部,您都不应该依赖这个值。

我做错了什么吗?我不应该依赖DATABASE_URL作为配置变量吗?

更多细节-我使用的是django-heroku pip软件包。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-09 23:18:41

如果

变量仅指本地主机,为什么我的应用程序仍然在Heroku上工作?

更多细节-我使用的是django-heroku pip软件包。

django-heroku做了很多工作,包括从DATABASE_URL环境变量自动设置数据库:

这将自动为应用程序配置DATABASE_URLALLOWED_HOSTS、WhiteNoise (用于静态资产)、日志记录和Heroku。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61673905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档