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
410
Advanced Git
singingwolfboy
3
820
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
240
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
[堅牢.py #1] テストを書かない研究者に送る、最初にテストを書く実験コード入門 / Let's start your ML project by writing tests
shunk031
2
790
早すぎ?超先読み Go 1.26 Draft - Preview the contents of the Go 1.26 Draft Release Notes
tomtwinkle
0
190
Eloquentを使ってどこまでコードの治安を保てるのか?を新人が考察してみた
itokoh0405
0
3.2k
Swift Concurrency 年表クイズ
omochi
3
230
知られているようで知られていない JavaScriptの仕様 4選
syumai
0
610
自動テストのアーキテクチャとその理由ー大規模ゲーム開発の場合ー
segadevtech
2
1k
Promise.tryで実現する新しいエラーハンドリング New error handling with Promise try
bicstone
3
460
CSC509 Lecture 13
javiergs
PRO
0
250
DartASTとその活用
sotaatos
2
130
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
280
Designing Repeatable Edits: The Architecture of . in Vim
satorunooshie
0
390
モデル駆動設計をやってみよう Modeling Forum2025ワークショップ/Let’s Try Model-Driven Design
haru860
0
160
Featured
See All Featured
Docker and Python
trallard
46
3.7k
A better future with KSS
kneath
239
18k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Embracing the Ebb and Flow
colly
88
4.9k
Scaling GitHub
holman
463
140k
A designer walks into a library…
pauljervisheath
210
24k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Facilitating Awesome Meetings
lara
57
6.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
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-