Портирование Django на Heroku
Попытка установить конфигурации Django для публичного url.
Так что сначала я запустил это.
$ echo "web: python manage.py runserver 0.0.0.0:\$PORT" > Procfile
$ git add Procfile
$ git commit -m "Specify the command to run your project"
В Procfile:
web: python manage.py runserver 0.0.0.0:\$PORT
release: python manage.py migrate
В settings.py:
PORT = os.getenv("PORT", default="5000")
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = ["url"]
В окружении:
PORT=5000
SECRET_KEY=value
Использовал вышеуказанные команды и получил
(portfolio) PS C:\Users\arund\Desktop\Code\Django\portfolio-project> heroku config:get PORT
5000
(portfolio) PS C:\Users\arund\Desktop\Code\Django\portfolio-project> heroku local
[OKAY] Loaded ENV .env File as KEY=VALUE Format
3:08:10 PM web.1 | CommandError: "0.0.0.0:\$PORT" is not a valid port number or address:port pair.
[DONE] Killing all processes with signal SIGINT
3:08:10 PM web.1 Exited with exit code null
Я также использовал $PORT без обратной косой черты и $. Как мне действовать дальше, чтобы сделать публичный url рабочим.
Используйте gunicorn для обслуживания вашего веб-приложения через Heroku, как описано здесь:
https://devcenter.heroku.com/articles/python-gunicorn
Что касается вашей ошибки, я думаю, что вы технически экранируете $
и поэтому не расширяете переменную.
Попробуйте удалить \
или, в целях отладки, проверьте, работает ли это, жестко закодировав порт, который вы ожидаете увидеть в $PORT
и посмотрите, работает ли это, если да, то я полагаю, что вам нужно установить переменную окружения $PORT
.