【发布时间】:2018-09-03 18:57:05
【问题描述】:
我正在尝试在 Heroku 中部署 Django 应用程序并使用 dj-database-url 将其连接到数据库。该应用程序在本地运行良好(使用python manage.py runserver),但heroku local web 命令和Heroku 部署都失败并显示以下消息:
9:47:06 PM web.1 | ModuleNotFoundError: No module named 'dj_database_url'
但是,当我进入 Heroku 的 shell 并尝试安装软件包时,它说要求已经满足
~ $ pip install dj-database-url
Requirement already satisfied: dj-database-url in ./.heroku/python/lib/python3.6/site-packages
附带说明一下,我有另一个名为django_hosts 的模块,我使用它并且没有任何问题。这是我的requirements.txt 文件:
dj-database-url==0.5.0
Django==2.1.1
django-hosts==3.0
psycopg2==2.7.5
pytz==2018.5
下面是production.py 设置文件中使用dj_database_url 的行:
import dj_database_url
...
db_from_env = dj_database_url.config()
DATABASES['default'].update(db_from_env)
我不知道它是否有帮助,但这是我安装的应用程序:
我
NSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# third party
'django_hosts',
# custom apps
'analytics',
'shortener',
]
我想也许我需要在django_hosts 下添加dj_databse_url,但它不起作用。
如果您需要更多信息,请在 cmets 中告诉我。干杯!
【问题讨论】:
标签: python django database heroku