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

问题描述 投票:0回答:3

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

导入错误:无法导入设置“testapp.settings”(它在 sys.path 上吗?):

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

import dj_database_url
DATABASES = {'default': dj_database_url.config(default=os.environ.get('DATABASE_URL'))}
python django postgresql heroku
3个回答
47
投票

您没有提供有关您尝试运行同步数据库的确切位置的大量信息? 本地? 或者使用 Heroku? 我的回答是假设它是本地的。

基本上,您需要安装 virtualenv 和 pip。 在您的 virtualenv 中工作(激活它)时,您需要执行以下操作

 pip install dj-database-url

那么你需要做:

 pip freeze > requirements.txt

开始使用 Python+Django+Heroku 并不是一件很难的事情……但是,有很多步骤。 如果您不清楚,我推荐 Heroku Django tutorial


2
投票

你必须安装 dj-database-url。

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


0
投票

你可以使用

从 urllib.parse 导入 urlparse

改为 dj-database-url。

url = urlparse(DATABASE_URL) DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', # 假设 PostgreSQL 'NAME': url.path[1:], # 第一个字符是 a '/',所以我们跳过它 'USER': url.username, 'PASSWORD': url.password, 'HOST': url.hostname, 'PORT': url.port, }

© www.soinside.com 2019 - 2024. All rights reserved.