
Flask - это простой веб-фреймворк, написанный на Python.
В этой статье мы рассмотрим, как разрабатывать простые веб-приложения на Python с помощью Flask.
Создать проект
Во-первых, нам нужно установить Python 3, если он еще не установлен.
Он поставляется со сценариями для создания виртуальной среды, поэтому нам не нужно ничего устанавливать.
Мы можем создать проект, запустив:
$ mkdir flask-app $ cd flask-app $ python3 -m venv venv
в Linux.
Создаем папку проекта и виртуальную среду.
В Windows мы создаем папку проекта flask-app и внутри нее запускаем:
$ py -3 -m venv venv
для создания виртуальной среды.
Активировать среду
Затем мы активируем виртуальную среду.
Для этого запускаем:
$ . venv/bin/activate
В папке проекта в Linux.
В Windows запускаем:
> venv\Scripts\activate
сделать то же самое.
Установить Flask
После установки виртуальной среды мы запускаем:
$ pip install Flask
для установки пакета Flask.
Минимальное приложение
Теперь в папке проекта flask-app создаем app.py и пишем:
app = Flask(__name__)
@app.route('/')
def hello_world():
    return 'Hello, World!'
создать приложение hello world.
Flask(__name__) создает приложение Flask.
@app.route - декоратор для добавления маршрута.
Мы возвращаем наш ответ в виде текста в функции hello_world.
Затем, чтобы запустить наше приложение, мы запускаем:
$ export FLASK_APP=app.py $ flask run
для запуска нашего приложения в Linux.
В Windows запускаем:
> set FLASK_APP=app.py > python -m flask run
чтобы установить переменную среды FLASK_APP и запустить наше приложение.
Переменная среды FLASK_APP должна быть установлена равной имени файла точки входа.
Теперь мы можем перейти на https://127.0.0.1:5000/ в браузере и увидеть на экране «привет, мир».
Режим отладки
Мы можем включить режим отладки, установив для переменной среды FLASK_END значение development.
Мы можем запустить:
export FLASK_ENV=development
сделать это в Linux.
В Windows запускаем:
set FLASK_ENV=development
сделать то же самое.
Маршрутизация
Мы можем добавить более одного маршрута в наше приложение.
Например, мы можем написать:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
    return 'Welcome'
@app.route('/hello')
def hello():
    return 'Hello, World'
Затем, когда мы переходим на https://127.0.0.1:5000/, мы видим «Добро пожаловать».
А когда мы переходим на https://127.0.0.1:5000/hello, мы видим «Hello, World».
Маршрутизация с переменными
Мы можем сделать наши маршруты более полезными с помощью переменных.
Например, мы можем написать:
from flask import Flask
from markupsafe import escape
app = Flask(__name__)
@app.route('/user/<username>')
def show_user_profile(username):
    return 'User %s' % escape(username)
@app.route('/post/<int:post_id>')
def show_post(post_id):
    return 'Post %d' % post_id
@app.route('/path/<path:subpath>')
def show_subpath(subpath):
    return 'Subpath %s' % escape(subpath)
для создания приложения с маршрутами, которые принимают параметры маршрута.
<username> - это заполнитель параметра URL.
Мы можем получить к нему доступ с помощью параметра username.
escape экранирует параметр URL, чтобы его можно было безопасно использовать.
Мы указали требуемый тип данных с помощью подстрок int и path.
int - целое число.  path - это строка пути.
Итак, если мы перейдем к http: // localhost: 5000 / path / foo / bar, мы получим Subpath foo / bar.
И если мы перейдем на http: // localhost: 5000 / post / 2, мы получим Post 2.
И если мы перейдем к http: // localhost: 5000 / user / foo, мы получим User foo.
Мы можем указать следующие типы:
- string- принимает любой текст без косой черты (по умолчанию)
- int— принимает положительные целые числа
- float— принимает положительные значения с плавающей запятой.
- path— как- string, но допускает косую черту.
- uuid- принимает строки UUID
Заключение
Мы можем с легкостью создавать простые приложения с помощью Flask.
 
                                                                     
                                                                    