Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Flask, гордость и предубеждения
Search
Yehor Nazarkin
January 13, 2014
Programming
0
330
Flask, гордость и предубеждения
Yehor Nazarkin
January 13, 2014
Tweet
Share
More Decks by Yehor Nazarkin
See All by Yehor Nazarkin
Python non-mainstream web
nimnull
0
150
Агрегация и обработка статистики
nimnull
0
5.7k
Write once, run everywhere
nimnull
0
6.3k
GPU Computing in Python
nimnull
1
5.7k
To Flask or not to Flask
nimnull
5
630
MongoDB Без ORM
nimnull
0
300
REST in Flask (And small client-side intro)
nimnull
10
1.7k
Other Decks in Programming
See All in Programming
チームの境界をブチ抜いていけ
tokai235
0
190
20251016_Rails News ~Rails 8.1の足音を聴く~
morimorihoge
2
570
CSC509 Lecture 06
javiergs
PRO
0
260
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
190
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
290
理論と実務のギャップを超える
eycjur
0
170
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
580
Flutterで分数(Fraction)を表示する方法
koukimiura
0
140
Devoxx BE 2025 Loom lab
josepaumard
0
110
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
510
Go言語はstack overflowの夢を見るか?
logica0419
0
480
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.3k
Featured
See All Featured
Fireside Chat
paigeccino
40
3.7k
KATA
mclloyd
PRO
32
15k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
How to Ace a Technical Interview
jacobian
280
24k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
600
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
RailsConf 2023
tenderlove
30
1.3k
Six Lessons from altMBA
skipperchong
29
4k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Designing for humans not robots
tammielis
254
26k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Transcript
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 Имеет смысл переделать
Вопросы? ! ! ! ! Да, заставляют играть в танки