Проблема с настройкой PORT в Django/Heroku Procfile с помощью Waitress
Я пытаюсь развернуть свое приложение Django на Heroku (на Windows) и использую Waitress (потому что Gunicorn больше не работает на Windows??). Когда я жестко закодировал номер PORT, я смог запустить его нормально.
Когда я пытаюсь определить PORT в Procfile как переменную окружения
Профиль:
web: waitress-serve --port=$PORT [projectname].wsgi:application
из .env
WEB_CONCURRENCY=2
PORT=$PORT
из файла settings.py
import environ
from environ import Env
...
PORT = env('PORT')
Запуск «heroku local» приводит к
ValueError: invalid literal for int() with base 10: '$PORT'
Я постоянно
встречаю упоминания о том, что «$PORT» не подходит для Windows. Однако я не могу понять, чего мне не хватает. Я видел предложения о том, что «%PORT%» подойдет для Windows, но у меня ничего не получилось. Если существует синтаксис, подходящий для Windows, нужно ли мне использовать его и в .env, и в Procfile?Explicitly tell you django-environs library that you are passing int not string. You can achieve that by casting the value in this format, so update your code on settings.py to look like this;
Remove the dollar sign ($) on your .env as well. Then rerun your build process.
PORT = env.int("PORT")