Почему я не могу изменить хост и порт, на которых работает приложение Flask?

Я хочу изменить хост и порт, на которых работает мое приложение. Я установил host и port в app.run, но команда flask run по-прежнему работает по умолчанию 127.0.0.1:8000. Как изменить хост и порт, которые использует команда flask?

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=3000)
set FLASK_APP=onlinegame
set FLASK_DEBUG=true
python -m flask run

Ответ 1

Команда flask отличается от метода flask.run, она не видит ее и не использует ее каким-либо образом. Вы можете передать аргументы командной строки команде.

flask run -h localhost -p 3000

Pass --help для полного списка параметров.


Никогда не выставляйте сервер dev наружу (например, привязка к 0.0.0.0). Используйте сервер WSGI для производства, такой как uWSGI или Gunicorn.

gunicorn -w 2 -b 0.0.0.0:3000 myapp:app

Ответ 2

Когда вы запускаете сервер приложений с помощью команды flask run, __name__ модуля не "__main__". Таким образом, блок if в вашем коде не выполняется - следовательно, сервер не привязывается к 0.0.0.0, как вы ожидаете.

Для использования этой команды вы можете связать собственный хост с помощью флага --host.

flask run --host=0.0.0.0

Источник