Я пытаюсь настроить тестовый проект Django на Heroku. Следуя совету здесьи в Heroku Getting Started, я пытаюсь использовать gunicorn
вместо сервера разработки Django.
Это была моя первая попытка Procfile:
web: gunicorn_django --workers=4 --bind=0.0.0.0:$PORT my_project/settings.py
worker: python my_project/manage.py celeryd -E -B --loglevel=INFO
Это дало мне эту ошибку:
ImportError: Could not import settings 'settings.py' (Is it on sys.path?): No module named py
Я решил пойти другим путем и последовал совету здесь. Теперь мой Procfile выглядел так:
web: gunicorn_django -b 0.0.0.0:\$PORT -w 9 -k gevent --max-requests 250 --preload my_project.settings
(я также обновил свой файл требований, включив в него gevent.) Это дало мне ту же ошибку:
ImportError: Could not import settings
Наконец, я просто установил для него settings
:
web: gunicorn_django -b 0.0.0.0:\$PORT -w 9 -k gevent --max-requests 250 --preload settings
Но теперь я получаю эту ошибку:
Error: django project not found
Мой проект Django настроен так, что файл settings.py
находится в родительском каталоге репозитория — у меня нет проекта Django под другой каталог. Он находится на том же уровне, что и файлы virtualenv и git. Будет ли это проблемой? Я уверен, что делаю что-то простое неправильно - любая помощь будет высоко оценена.
Если я буду следовать инструкциям из Heroku здесьи изменю Procfile на это:
web: gunicorn hellodjango.wsgi -b 0.0.0.0:$PORT
Ничего не происходит -- в логах нет ошибок, но процессы не запускаются, и приложение выглядит мертвым. .