Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Flask, гордость и предубеждения
Search
Yehor Nazarkin
January 13, 2014
Programming
350
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Flask, гордость и предубеждения
Yehor Nazarkin
January 13, 2014
More Decks by Yehor Nazarkin
See All by Yehor Nazarkin
Python non-mainstream web
nimnull
0
170
Агрегация и обработка статистики
nimnull
0
5.8k
Write once, run everywhere
nimnull
0
6.4k
GPU Computing in Python
nimnull
1
5.7k
To Flask or not to Flask
nimnull
5
650
MongoDB Без ORM
nimnull
0
330
REST in Flask (And small client-side intro)
nimnull
10
1.8k
Other Decks in Programming
See All in Programming
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
540
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
8
5.5k
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
190
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
910
Simple Storage Service(S3) is not simple
iwatsukayura
0
210
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
140
Java 27新機能 / Java 27 new features
kishida
2
200
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
450
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
160
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
390
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
34
15k
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
920
Making Projects Easy
brettharned
120
6.8k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
GraphQLとの向き合い方2022年版
quramy
50
15k
RailsConf 2023
tenderlove
30
1.6k
The agentic SEO stack - context over prompts
schlessera
0
970
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
The Curse of the Amulet
leimatthew05
3
15k
The SEO Collaboration Effect
kristinabergwall1
1
590
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
370
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
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 Имеет смысл переделать
Вопросы? ! ! ! ! Да, заставляют играть в танки