【发布时间】:2015-06-08 09:20:15
【问题描述】:
我已经尝试了很多次让我的应用程序在 Heroku 上运行,但都没有成功。他们在本地运行的事实似乎完全无关紧要。显然我不明白这是如何工作的。
所以……这里有几个问题,我决定将它们组合成一个关于 SO 的问题:
1. 为什么 Heroku 有这么多不同的地方会影响设置(Procfile、wsgi.py、config vars 和 settings.py)?
2.它们之间的关系如何?
3.哪个优先?
4.它们都必须完全相同吗?
5. 我应该如何处理/如何配置 Heroku Django 模板中给出的数据库设置?
- # 从 $DATABASE_URL 解析数据库配置
- DATABASES['default'] = dj_database_url.config()
- # 此行原为空白。我把文字放在这里以使其格式正确
- # 启用连接池(如果需要)
- DATABASES['default']['ENGINE'] = 'django_postgrespool'
a) DATABASE ['ENGINE'],在 DATABASE [default] 之后不会覆盖 DATABASE [default]?
b) 为什么这两者的格式与默认的 Django 设置(一个简单的字典)的格式不同,而不是所有这些额外且令人困惑的括号?
c) 是否应该将它们视为两种不同的设置,因此如果你想要两者都必须使用数据库路由器?
d) 为什么devcenter article 说要导入postgrespool,而template 却什么也没说?
e) 为什么“默认”optional 带有 dj_database_url 而 mandatory 带有 Django?
f)当我尝试注释掉第 82 行时,我收到关于重置查询的错误,为什么?
g) 我将配置变量中的 postgres 字符串作为 dj_database_url 的参数,但我得到一个名称错误,数据库未定义。为什么?
【问题讨论】:
标签: django postgresql heroku