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 on App Engine
Search
David Baumgold
May 23, 2011
Programming
5
350
Flask on App Engine
Slides to a talk that I presented at the Boston App Engine meetup on May 23, 2011.
David Baumgold
May 23, 2011
Tweet
Share
More Decks by David Baumgold
See All by David Baumgold
GDI Git
singingwolfboy
1
390
Advanced Git
singingwolfboy
3
770
Get Started with Git
singingwolfboy
5
2k
Prototyping APIs with Flask
singingwolfboy
5
1.2k
Flask-Dance
singingwolfboy
2
1.3k
Advanced Git
singingwolfboy
1
230
Advanced Git
singingwolfboy
19
2.7k
SQL Crash Course
singingwolfboy
3
1.3k
Flask vs Django
singingwolfboy
23
6.6k
Other Decks in Programming
See All in Programming
AI時代のプログラミング教育 / programming education in ai era
kishida
23
21k
パスキーのすべて / 20250324 iddance Lesson.5
kuralab
0
140
安全に倒し切るリリースをするために:15年来レガシーシステムのフルリプレイス挑戦記
sakuraikotone
5
2.6k
Signal-Based Data FetchingWith the New httpResource
manfredsteyer
PRO
0
130
SLI/SLOの設定を進めるその前に アラート品質の改善に取り組んだ話
tanden
2
780
PHPUnit 高速化テクニック / PHPUnit Speedup Techniques
pinkumohikan
1
1.3k
AtCoder Heuristic First-step Vol.1 講義スライド(山登り法・焼きなまし法編)
takumi152
4
1k
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
680
Firebase Dynamic Linksの代替手段を自作する / Create your own Firebase Dynamic Links alternative
kubode
0
200
ミリしらMCP勉強会
watany
4
680
爆速スッキリ! Rspack 移行の成果と道のり - Muddy Web #11
dora1998
1
200
AIコーディングワークフローの試行 〜AIエージェント×ワークフローでの自動化を目指して〜
rkaga
2
1.5k
Featured
See All Featured
Side Projects
sachag
452
42k
Optimizing for Happiness
mojombo
377
70k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Scaling GitHub
holman
459
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
102
19k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
Music & Morning Musume
bryan
46
6.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Building a Modern Day E-commerce SEO Strategy
aleyda
39
7.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Transcript
!"#$%&'"()*+,%- ./$0*$0*1+,2+3&&44&&567844%"#$%9"()*+,%:;+)-
<($;=&>,"/=&>";?/- • @$;A+BA")C1+A=8&%C/$*0C%&B+A&/)",,&"77/- • DC,C"/C%&E7A$,&FGHG&93&EA)$0&D+0";5CA- • HGGI&JKLM&;+)7,$"0?- • N0$;+%C&?+7O?+O9+6+)- •
'K!&,$;C0/C%&P%+&15"?&3+(&1"0?Q-
!+0R?&>$*5?& S+(A&>A")C1+A=-
N/C&J5"?&S+(&& LC?&>+A&>ACC-
T+1&"9+(?&& "0&CU")7,CV- W5C&0CU?&BC1&/,$%C/&1CAC&/5")C,C//,3& /?+,C0&BA+)&EA)$0&D+0";5CAX&- ?5C&"(?5+A&+B&>,"/=-
hello.py from flask import Flask app = Flask(__name__) @app.route('/') def
index(): return 'Hello Flask!' if __name__ == '__main__': app.run()
What it looks like
hello.py from flask import Flask, render_template app = Flask(__name__) @app.route('/',
defaults={'name': 'Flask'}) @app.route('/<name>') def index(name): return render_template('hello.html', name=name) if __name__ == '__main__': app.run()
hello.html {% extends 'layout.html' %} {% block title %}Greetings{% endblock
%} {% block body %} <h1>Hello {{ name }}!</h1> {% endblock %}
layout.html <!doctype html> <head> <title>{% block title %}{% endblock %}</title>
</head> <body> {% block body %}{% endblock %} </body>
J53&E77&Y0*$0CZ-
!""#$%!&$'()*+#!,-!""* ./0,$'()*12123* 04(&$5/)*"6&7'(* !"$8./0,$'()*3* * 7!(9#/0,)* 2*40#)*:;* **,%0$"&)*5!$(:"6* "77:3"),-
$5"'0&*',<*,6,* +0'5*=''=#/:!""/(=$(/:/>&:?/@!"":4&$#*$5"'0&*04(8?,=$8!""* * 9/+*04(8!""AB)* ****+0'5*+#!,-!""*$5"'0&*!""* * ****$+*',:/(.$0'(:=/&ACDEFGEF8DHIJKLFECB:,&!0&,?$&7ACM/.CB)* ********!"":9/@4=NJ04/* * ****04(8?,=$8!""A!""B*
* $+*88(!5/88*NN*O885!$(88O)* ****0''&8"!&7*N*',:"!&7:9$0(!5/A',:"!&7:!@,"!&7A88+$#/88BB* ****#$@8"!&7*N*',:"!&7:P'$(A0''&8"!&7<*C#$@CB* ****/==,*N*Q',:"!&7:P'$(A#$@8"!&7<*+B*+'0*+*$(** ********',:#$,&9$0A#$@8"!&7B*$+*+:/(9,?$&7AO:/==OBR* ****,6,:"!&7:/>&/(9AQ#$@8"!&7R*S*/==,B* ******** ****04(8!""AB* )"$0:73-
J5"?&C,/C&& 5"#C&3+(&*+?Z-
YU?C0/$+0/-
YU?C0/$+0/- >+A)&[",$%"?$+0- >$,C&N7,+"%/- W5C)$0*- N0$?&WC/?$0*- \E(?5- \7C0M!- LA"#"?"A- LC0/5$- !C9(*&W++,9"A-
]KD>&^A+?C;?$+0- ]";5$0*- W"/=&<(C(C/- M0?CA0"?$+0",$_"?$+0- K?"?$;&E//C?&@"0"*C)C0?- WC/?&D(00CA- `@aOD^]-
+0'5*+#!,-*$5"'0&*H#!,-<*0/(9/08&/5"#!&/* +0'5*+#!,-/R&:%!%7/*$5"'0&*T!%7/* * !""*M*H#!,-@88(!5/88A* !"":%'(+$=PBTKTUD8IVWDBQ*M*B=!/5/5%!%7/9B* %!%7/*M*T!%7/@!""A* * X!"":0'4&/@BYB<*9/+!4#&,MZB(!5/B)*BH#!,-B[A* X!"":0'4&/@BY\(!5/]BA* X%!%7/:%!%7/9@&$5/'4&M^_11A*
9/+*$(9/R@(!5/A)* ****0/&40(*0/(9/08&/5"#!&/@B7/##':7&5#B<*(!5/M(!5/A* * $+*88(!5/88*MM*B885!$(88B)** ****!"":04(@A* E%%&]";5$0*- !! !! !! !!
!+;()C0?"?$+0- FGGb&7"*C/-
!"#$%&' (&)*)+#)&' >,"/=- 567844c"/=:7+;++:+A*- EA)$0&D+0";5CA- !"#$%&'"()*+,%- .)$?/(5$?+- ./$0*$0*1+,2+3- 567844*$?5(9:;+)4)$?/(5$?+4c"/=- !+,-.")*#/%+*0'
567844*$?5(9:;+)4/$0*$0*1+,2+34c"/=O"77C0*$0CO/=C,C?+0-