6

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

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

4

1 回答 1

19

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

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

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

另一个,是default传递给它的参数,dj_database_url它基本上if为你做了这个简单的陈述。

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

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

于 2012-12-06T04:16:37.820 回答