Команда проекта Pallets представила релиз фреймворка Flask 1.0
Новости
В новой версии Python-фреймворка представлены расширенные возможности командной строки, обработка прерываний, усовершенствованный механизм тестирования приложений. Вместе с выпуском Flask 1.0 были изменены документация и руководства, облегчающие обучение пользователям.
2К открытий2К показов
В новой версии Python-фреймворка Flask представлены расширенные возможности командной строки, обновленное ведение программных логов, обработка прерываний, усовершенствованный механизм тестирования приложений и многое другое.
Командная строка
- При установке пакета
python-dotenv
командная строка Flask загружает переменные окружения из файлов c расширениями .env и .flaskenv. Благодаря этому пользователям не нужно экспортировать их каждый раз при открытии нового терминала. - Для отладки и тестирования приложения в режиме командной строки создан метод
test_cli_runner
. - Интерфейс командной строки стал более гибким. Теперь переменная
FLASK_APP
может указывать на фабрику приложений (app factory).FLASK_ENV
описывает среду, в которой запускается приложение, например, среду разработки. В большинстве случаев эта переменная заменяетFLASK_DEBUG
. Более подробно о режиме командной строки можно узнать в документации.
Обработка исключений
- Появилась поэтапная обработка ошибок. При возникновении исключения первым делом проверяется наличие зарегистрированного обработчика ошибок в коде. Если он отсутствует, проверяется наличие наиболее подходящего с помощью анализа иерархий. Если обработчик не зарегистрирован и там, то код ошибки выбирается в подклассах
HTTPException
. - Сообщение об ошибке в режиме отладки при доступе к отсутствующим ключам из модуля
request.form
стало более информативным.
Ведение журнала приложения
Инструмент для логирования app.logger
стал проще в настройке. Теперь он всегда имеет вид объекта flask.app
. Инструмент автоматически добавляет обработчик логов по умолчанию, если отсутствуют созданные пользователем, и никогда не удаляет уже существующие.
Другие изменения Flask
- В функции тестирования приложений
test_client()
появился аргументjson
для отправления данных в формате JSON. Получить и декодировать эти данные можно с помощью методаget_json()
объектаResponse
. - В среду разработки интегрирована параллельная обработка запросов.
- Прекращена поддержка Python 2.6 и 3.3.
- Удален устаревший модуль
flask.ext
. Теперь расширения можно импортировать непосредственно по именам программных пакетов. - Написан патч для уязвимости JSON, связанной с некорректной кодировкой байтов. В новой версии для этого формата можно использовать только UTF.
Вместе с новым релизом были переписаны и структурированы документация, руководства и примеры, которые упростят обучение новым пользователям. Установить фреймворк для Python можно с помощью команды pip install -U Flask
.
Полный список изменений в новой версии представлен на официальном сайте разработчиков.
О том, как использовать Flask, чтобы создать, например, бота для Facebook Messenger, можно прочитать в нашем материале.
2К открытий2К показов