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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yehor Nazarkin
January 13, 2014
Programming
340
0
Share
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.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
640
MongoDB Без ORM
nimnull
0
320
REST in Flask (And small client-side intro)
nimnull
10
1.7k
Other Decks in Programming
See All in Programming
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
220
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1.2k
関係性から理解する"同一性"の型用語たち
pvcresin
2
610
Oxcを導入して開発体験が向上した話
yug1224
4
250
初めてのRubyKaigiはこう見えた
jellyfish700
0
330
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
460
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
1.8k
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
970
横断組織出身のQAEがインプロセスQAEでつまずいたこと・活かせたこと
ty89
0
460
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
3
1.7k
AIエージェントと協働するCLI開発 — BunとOpenClawで学んだこと
yoshikouki
1
220
分析エージェント精度向上における データアナリストの役割
oura_shoya
0
130
Featured
See All Featured
HDC tutorial
michielstock
2
680
How to make the Groovebox
asonas
2
2.2k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
How STYLIGHT went responsive
nonsquared
100
6.1k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
190
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
44k
My Coaching Mixtape
mlcsv
0
140
It's Worth the Effort
3n
188
29k
How to Talk to Developers About Accessibility
jct
2
210
Into the Great Unknown - MozCon
thekraken
41
2.5k
How to build a perfect <img>
jonoalderson
1
5.5k
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 Имеет смысл переделать
Вопросы? ! ! ! ! Да, заставляют играть в танки