Знакомимся с Flask: минимальное приложение

Flask — это облегченная структура веб-приложений WSGI. Он разработан, чтобы сделать начало работы быстрым и легким, с возможностью масштабирования до сложных приложений. Он начинался как простая оболочка для Werkzeug и Jinja и стал одним из самых популярных фреймворков для веб-приложений Python.

Flask предлагает предложения, но не требует каких-либо зависимостей или макета проекта. Разработчик должен выбрать инструменты и библиотеки, которые он хочет использовать. Сообщество предоставляет множество расширений, которые упрощают добавление новых функций.

Минимальное приложение

Минимальное приложение Flask выглядит примерно так:
from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_world():
    return "<p>Hello, World!</p>"

Так что же сделал этот код?

Сначала мы импортировали класс Flask. Экземпляр этого класса будет нашим приложением WSGI.

Затем мы создаем экземпляр этого класса. Первый аргумент — это имя модуля или пакета приложения. __name__ — это удобный ярлык, который подходит для большинства случаев. Это необходимо, чтобы Flask знал, где искать ресурсы, такие как шаблоны и статические файлы.

Затем мы используем декоратор route(), чтобы сообщить Flask, какой URL-адрес должен запускать нашу функцию.

Функция возвращает сообщение, которое мы хотим отобразить в браузере пользователя. Тип содержимого по умолчанию — HTML, поэтому HTML в строке будет отображаться браузером.

Сохраните его как hello.py или что-то подобное. Убедитесь, что вы не вызываете свое приложение flask.py, потому что это может конфликтовать с самим Flask.

Чтобы запустить приложение, используйте команду flask или python -m flask. Прежде чем вы сможете это сделать, вам нужно указать своему терминалу, с каким приложением будет работать, экспортировав переменную среды FLASK_APP:
bash
export FLASK_APP=hello
flask run
 * Running on http://127.0.0.1:5000/

CMD
set FLASK_APP=hello
flask run
 * Running on http://127.0.0.1:5000/

Powershell
$env:FLASK_APP = "hello"
flask run
* Running on http://127.0.0.1:5000/

Поведение при обнаружении приложений

В качестве ярлыка, если файл называется app.py или wsgi.py, вам не нужно устанавливать переменную среды FLASK_APP.

Это запускает очень простой встроенный сервер, который достаточно хорош для тестирования, но, вероятно, не тот, который вы хотите использовать в производстве. Варианты развертывания см. В разделе «Варианты развертывания».

Теперь перейдите на 127.0.0.1:5000/, и вы должны увидеть свое приветствие hello world.

Внешний видимый сервер

Если вы запустите сервер, вы заметите, что сервер доступен только с вашего собственного компьютера, а не с любого другого в сети. Это значение по умолчанию, поскольку в режиме отладки пользователь приложения может выполнять произвольный код Python на вашем компьютере.

Если у вас отключен отладчик или вы доверяете пользователям в своей сети, вы можете сделать сервер общедоступным, просто добавив --host = 0.0.0.0в командную строку:
flask run --host = 0.0.0.0
Это указывает вашей операционной системе прослушивать все общедоступные IP-адреса.

Что делать, если сервер не запускается

В случае сбоя python -m flask или отсутствия флакона может быть несколько причин. Прежде всего вам нужно посмотреть сообщение об ошибке.
Поделиться:

Похожие публикации

Тут ничего нет

Нет комментариев