django - 为本地开发设置 django 和 dj-database-url

标签 django postgresql heroku

Here在对答案的评论中,有人问了这个问题。但我仍然不清楚答案。

我在 Heroku 中运行我的 django 站点,它需要 dj-database-url 模块来与 Postgresql 一起工作。如何在本地计算机上的 settings.py 中使用 DATABASES = dj-database-url() 运行 django?在推送到 Heroku 之前更改代码是一种非常丑陋的方式。

最佳答案

有很多方法可以处理不同的生产/开发环境。

一个是在您的设置文件底部导入一个本地设置文件,该文件不在版本控制中,因此不在 heroku 中。

另一种方法是将 heroku 环境与您的本地环境区分开来。例如,任意环境变量。

另一个是传递给 dj_database_urldefault 参数,它基本上为您执行这个简单的 if 语句。

import dj_database_url
DATABASES['default'] = dj_database_url.config(
    default='sqlite:////path-to-my/database.sqlite')

请记住,这个设置文件只是 python。例如,您可以让它在星期二使用一个数据库。您可以想出的任何 if 语句都可以。

关于django - 为本地开发设置 django 和 dj-database-url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13729738/

相关文章:

python - Django ·奥斯卡获得最便宜的报价

python - SSLCertificateError - 尝试从 facebook 获取访问 token 时出现 "The handshake operation timed out"

postgresql - 如何返回分组 user_id 的最新值?

multithreading - Postgresql事务 "COMMIT"线程安全吗?

django - 在本地机器上开发时如何访问在线 postgresql 数据库?

python - 为什么在 Django 模型中需要这个方法?

python - ManyToMany 字段引用期间的 Django NameError

database - 对 postgres 中的所有列类型使用 unicode(255)?

ruby-on-rails - 你如何在 rails postgresql 数据库中创建一个 BLOB 列

java - Maven - 无法执行目标 org.apache.maven.plugins :maven-compiler-plugin:3. 7.0:使用 java 10 进行编译