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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
420
Advanced Git
singingwolfboy
3
840
Get Started with Git
singingwolfboy
5
2k
Prototyping APIs with Flask
singingwolfboy
5
1.3k
Flask-Dance
singingwolfboy
2
1.4k
Advanced Git
singingwolfboy
1
250
Advanced Git
singingwolfboy
19
2.8k
SQL Crash Course
singingwolfboy
3
1.4k
Flask vs Django
singingwolfboy
23
6.6k
Other Decks in Programming
See All in Programming
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.5k
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
200
Fragmented Architectures
denyspoltorak
0
150
Fluid Templating in TYPO3 14
s2b
0
130
AI巻き込み型コードレビューのススメ
nealle
0
120
Package Management Learnings from Homebrew
mikemcquaid
0
210
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
Basic Architectures
denyspoltorak
0
660
Patterns of Patterns
denyspoltorak
0
1.4k
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
450
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
300
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
64
The Limits of Empathy - UXLibs8
cassininazir
1
210
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
Paper Plane (Part 1)
katiecoart
PRO
0
4k
Designing for humans not robots
tammielis
254
26k
Claude Code のすすめ
schroneko
67
210k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
How GitHub (no longer) Works
holman
316
140k
Music & Morning Musume
bryan
47
7.1k
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-