Портирование 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.

Вернуться на верх