Flask
гордость и предубеждение
Об авторе
Python
Javascript
Web
Networking
Егор Назаркин
Wargaming.net
Twitter: @nimnull
В тени django
ORM, templating, project layout, etc.
VS
DIY (+API)
Начало
1. Werkzeug
2. Jinja2
3. Выбрать компоненты
4. Понять app_context и request_context
›❯ pip search flask | wc -l	
451[ ]
Например
Flask-And-Redis
Flask-Babel
Flask-Cache
Flask-ElasticSearch
Flask-Login
Flask-Mail
Flask-OAuth
Flask-Principal
Flask-S3
Flask-SQLAlchemy
Flask-Script
Flask-Security
Flask-Social
Flask-WTF
Первые проблемы
зависимости версий
Flask-Social => Flask-Security => Flask-Principal =>
Flask-Login
Структура проекта
• эволюция от app.py до factory.py (flask-kit)
• Борьба с циклическими импортами
• ext.init_app(…)
• app.register_blueprint(…)
Пара костылей
• extensions.py должен быть доступен для импорта
Проблемы с контекстом
нет контекста при импорте?
— from werkzeug.local import LocalProxy
всё надоело?
— from werkzeug.utils import import_string
Лень
• class LazyView
• class LazyResource
• class LazyBlueprint
— Двигатель прогресса
Адаптация
• CRUDMixin (AR-like стиль для моделей)
• https://github.com/nimnull/flamaster, например
• sqlamp:
Компоновка
• Как “правильно” организовать проект?
• Multiple Application — отлично (если есть multi-
domain)
• Разделить на blueprint-ы, почему не flask-
extensions?
Тестирование
• Flask-Testing, Flask-Test — хорошая попытка
Celery
• Концепция контекста приложения
• для запуска нужен контекст приложения Flask (:
Celery
Celery
Имеет смысл переделать
Вопросы?
!
!
!
!
Да, заставляют играть в танки

More Related Content

PDF
Flask как хорошее решение для веб проекта
PPTX
Полный цикл разработки на Python + Django
PDF
Про асинхронное сетевое программирование
PPT
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
PPTX
Dapper + QueryObject
PDF
Олег Бартунов и Иван Панченко
PPTX
Micro orm для жизни. Кожевников Дмитрий D2D Just.NET
PDF
Введение в Python и Django
Flask как хорошее решение для веб проекта
Полный цикл разработки на Python + Django
Про асинхронное сетевое программирование
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
Dapper + QueryObject
Олег Бартунов и Иван Панченко
Micro orm для жизни. Кожевников Дмитрий D2D Just.NET
Введение в Python и Django

What's hot (20)

PDF
Семь тысяч Rps, один go
PPTX
Django: инструкция по применению
PDF
Вячеслав Бахмутов
PDF
Формальная верификация кода на языке Си
PDF
Формальная верификация кода на языке Си
PDF
Fabric для управления серверами
PDF
Трущобы Application Security
PDF
Python Development process in Yandex
PDF
Денис Трифонов
PDF
Александр Зобнин, Grafana Labs
PDF
Андрей Лузин
PDF
Автоматизация построения правил для Approof
PDF
Андрей Денисов – В ожидании мониторинга баз данных
PDF
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
PDF
ELK: менеджмент логов, быстрая локализация проблем / Сергей Шумов (News360)
PDF
От экспериментального программирования к промышленному: путь длиной в 10 лет
PDF
Константин Осипов
PPTX
что пришлось тестировать и о чем узнать при подготовке Linux версии pvs-studio
PDF
Олег Савкин
PDF
Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
Семь тысяч Rps, один go
Django: инструкция по применению
Вячеслав Бахмутов
Формальная верификация кода на языке Си
Формальная верификация кода на языке Си
Fabric для управления серверами
Трущобы Application Security
Python Development process in Yandex
Денис Трифонов
Александр Зобнин, Grafana Labs
Андрей Лузин
Автоматизация построения правил для Approof
Андрей Денисов – В ожидании мониторинга баз данных
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
ELK: менеджмент логов, быстрая локализация проблем / Сергей Шумов (News360)
От экспериментального программирования к промышленному: путь длиной в 10 лет
Константин Осипов
что пришлось тестировать и о чем узнать при подготовке Linux версии pvs-studio
Олег Савкин
Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
Ad

More from Yehor Nazarkin (6)

PDF
Flask, rest and data
PDF
Inter-process data exchange in Python
PDF
Chaplin.js in real life
PDF
Rest in flask
PDF
обзор Python
PDF
GAE - плюсы/минусы/подводные камни
Flask, rest and data
Inter-process data exchange in Python
Chaplin.js in real life
Rest in flask
обзор Python
GAE - плюсы/минусы/подводные камни
Ad

Flask, гордость и предубеждение