Запуск flask-приложения на локальном компьютере
Прежде чем запускать flask-приложение (сайт на фреймворке Flask), требуется установить фреймворк Flask в операционную систему или виртуальное окружение (см. предыдущую статью).
Простейшее flask-приложение выглядит примерно так:
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'Hello World'
Имя файла может быть произвольным, но не flask.py (иначе в дальнейшем при настройке веб-сервера может быть конфликт с модулем flask
при импорте). Нередко такой файл называют app.py.
Фреймворк Flask имеет в своем составе веб-сервер, который позволяет запускать сайт (flask-приложение) на локальном компьютере. Использовать его в "продакшене" на удаленном компьютере (веб-сервер как железо) не получится.
Находясь в каталоге проекта, выполним следующую команду:
flask --app имя_файла run --debug
Если вы не устанавливали виртуальную и данная команда не работает, то в Ubuntu работает такая команда:
python3 -m flask --app имя_файла run --debug
Здесь имя_файла ‒ это имя главного файла вашего приложения, но без расширения .py. Если вы назвали этот файл app.py, то команду можно использовать без опции --app
и, следовательно, без указания имени файла:
flask run --debug
Опция --debug
позволяет отображать изменения в браузере без перезагрузки веб-сервера. То есть после того, как вы вносите корректировки в программу, вам не надо останавливать веб-сервер и заново его запускать, чтобы увидеть изменения (но F5 в браузере все же нажмите), как это делается на настоящем сервере, где использовать отладчик не следует.
После запуска веб-сервера вы увидите в терминале примерно следующее:
* Serving Flask app 'project' * Debug mode: on WARNING: This is a development server. … * Running on http://127.0.0.1:5000 Press CTRL+C to quit * Restarting with stat * Debugger is active! * Debugger PIN: 837-251-238
В последствии, чтобы остановить работу веб-сервера, надо нажать Ctrl + C.
Когда веб-сервер запущен, набрав в адресной строке браузера http://127.0.0.1:5000 (или кликнув в терминале по этому адресу с зажатым Ctrl), вы увидите страницу со строкой, которую возвращает функция index()
нашей flask-программы.
Пин-код понадобится, если захотите что-нибудь протестировать через интерактивную консоль дебагера, которая открывается по адресу http://127.0.0.1:5000/console.