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

Posted

技术标签:

【中文标题】为本地开发设置 django 和 dj-database-url【英文标题】:Setting django and dj-database-url for local development 【发布时间】:2012-11-23 15:54:32 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

一种是在您的设置文件底部导入的本地设置文件不在版本控制中,因此不在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 和 dj-database-url的主要内容,如果未能解决你的问题,请参考以下文章

django heroku工头启动错误代码1

如何在 Django 1.4 中为本地开发提供静态文件

使用 Heroku 在 Django 中为本地开发配置 postgresql 数据库

django 本地和生产的几个设置

javascript项目中的本地设置

在本地为 Django 使用 SQLite,在服务器上使用 Postgres