Flask#
Flask — это микрофреймворк для создания веб-приложений на Python. Он лёгкий, гибкий и простой в использовании, что делает его отличным выбором для разработки веб-приложений, API и даже полноценных сайтов.
Основные пакеты
Пакет |
Версия |
Репозиторий |
Описание |
---|---|---|---|
python3-flask |
2.2.2-3+b2 |
extended |
Микро веб-фраймворк |
Дополнительные пакеты
Пакет |
Версия |
Репозиторий |
Описание |
---|---|---|---|
python3-flask-restful |
0.3.9-6+b2 |
extended |
Расширение для создания REST API |
python3-flask-sqlalchemy |
3.0.3-1 |
extended |
Добавляет поддержку SQLAlchemy в Flask |
python3-sqlalchemy |
1.4.46+ds1-1+b2 |
installation |
Библиотека абстракции базы данных (ORM) |
python3-psycopg2 |
2.9.5+b2 |
installation |
Адаптер базы данных PostgreSQL |
Примечание
В репозиториях большая часть пакетов, относящихся к Flask, имеют вид python3-flask…
Установка Flask#
установите пакет Flask:
sudo apt install python3-flask
Создание простого веб-приложения#
Пункт 1#
создайте папку для вашего проекта и перейдите в неё:
mkdir my_flask_app
cd my_flask_app
Пункт 2#
создайте файл app.py и добавьте следующий код:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "Привет, Flask!"
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5000)
Пункт 3#
запустите приложение:
python3 app.py
Пункт 4#
откройте браузер и перейдите по адресу http://127.0.0.1:5000/. Вы увидите сообщение «Привет, Flask!».
Объяснение кода#
Импорт Flask:
from flask import Flask
Мы импортируем класс Flask из библиотеки flask.
Создание экземпляра приложения:
app = Flask(__name__)
Создаём экземпляр приложения Flask.
Маршрутизация:
@app.route("/")
def home():
return "Привет, Flask!"
@app.route("/") определяет маршрут для корневого URL (/).
Функция home() возвращает текст, который будет отображён в браузере.
Запуск приложения:
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5000)
host=»0.0.0.0» позволяет приложению быть доступным из любой сети.
port=5000 указывает порт, на котором будет работать приложение.
Добавление HTML-шаблонов#
Flask поддерживает использование HTML-шаблонов с помощью библиотеки Jinja2.
Пункт 1#
создайте папку templates в корне вашего проекта:
mkdir templates
Пункт 2#
создайте файл templates/index.html и добавьте следующий код:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Главная страница</title>
</head>
<body>
<h1>Привет, {{ name }}!</h1>
</body>
</html>
Пункт 3#
измените app.py, чтобы использовать шаблон:
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def home():
return render_template("index.html", name="Flask")
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5000)
render_template(«index.html», name=»Flask») загружает шаблон index.html и передаёт переменную name.
Запуск приложения в production#
Для запуска Flask-приложения в production рекомендуется использовать WSGI-сервер, например, Gunicorn или Apache2.