Heroku/Django:没有名为 dj_database_url 的模块

Posted

技术标签:

【中文标题】Heroku/Django:没有名为 dj_database_url 的模块【英文标题】:Heroku/Django: No module named dj_database_url 【发布时间】:2012-09-22 21:33:00 【问题描述】:

我第一次尝试在 Django 上设置 PostgresSQL,当我尝试执行 syndb 时遇到此错误?

ImportError: 无法导入设置“testapp.settings”(是否在 sys.path 上?):

我的 settings.py 文件顶部也有这个,不知道这是否正确?

import dj_database_url
DATABASES = 'default': dj_database_url.config(default=os.environ.get('DATABASE_URL'))

【问题讨论】:

【参考方案1】:

您没有提供很多关于您尝试运行同步数据库的确切位置的信息吗?本地?还是在 Heroku 上?我的回答是假设它在本地。

基本上,您需要安装 virtualenv 和 pip。在你的 virtualenv 中工作时(激活它),你需要做一个

 pip install dj-database-url

那么你需要做一个:

 pip freeze > requirements.txt

起床并继续使用 Python+Django+Heroku 并不是一件很难的事情......但是,有很多步骤。如果你不明白,我推荐 Heroku Django tutorial。

【讨论】:

Heroku Django 教程假设您作为开发人员了解很多。如果您所做的只是在本地开发 django 项目,那将是一个巨大的飞跃,而且还远远没有足够的文档来帮助这种过渡(不是他们的工作必须这样做),例如他们从不链接或解释 gunicorn 的重要性。为了增加混乱,他们的template project 没有使用虚拟机,教程从使用虚拟机开始(这会弄乱模板项目)。我相信对于那些知识渊博的人来说更容易,但对我来说不是:)【参考方案2】:

你必须安装 dj-database-url。

将其添加到您的 requirements.txt 文件中。

【讨论】:

即使我没有使用数据库,我也会收到此错误。我删除了所有数据库依赖项(据我所知)。这只是需要 dj-database-url 的 heroku 方式吗?安装 dj-database-url 后果然我的应用运行良好。

以上是关于Heroku/Django:没有名为 dj_database_url 的模块的主要内容,如果未能解决你的问题,请参考以下文章

RabbitMQ 上的 Heroku、Django 和 celery

Heroku:Django Migration 版本未在部署中运行

Heroku Django:运行工人

部署Django+React到Heroku - 未捕获的语法错误。意外的标记'<'

Heroku/Django 部署:为啥我在成功部署和静态收集时收到错误 500?

隐藏 Heroku Django 部署的 settings.py 密码