Я пытаюсь развернуть приложение Django в Heroku и подключить его к базе данных, используя 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 и пытаюсь установить пакет, он говорит, что требование уже выполнено
~ $ 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)
Не знаю, поможет ли это, но вот мои установленные приложения:
I
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',
]
Я подумал, что, возможно, мне нужно добавить dj_databse_url
под django_hosts
, но это не сработало.
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать в комментариях. Ура!