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 on App Engine
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
David Baumgold
May 23, 2011
Programming
380
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
Transcript
19 slides
!"#$%&'"()*+,%- ./$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-
More Decks by David Baumgold
See All by David Baumgold
GDI Git
singingwolfboy
1
470
Advanced Git
singingwolfboy
3
870
Get Started with Git
singingwolfboy
4
2.1k
Prototyping APIs with Flask
singingwolfboy
5
1.3k
Flask-Dance
singingwolfboy
2
1.5k
Advanced Git
singingwolfboy
1
280
Advanced Git
singingwolfboy
19
2.8k
SQL Crash Course
singingwolfboy
3
1.4k
Flask vs Django
singingwolfboy
23
6.7k
Other Decks in Programming
See All in Programming
Coding with AI: How to trust the storyteller (AWS Community Day Adria, Ljubljana 2026)
slobodan
0
140
[DroidKnights 2026] Workflow AX: From Auto-Documented Policies to E2E Testing
raeminkang
0
570
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2k
SODA - FACT BOOK(JP)
sodainc
1
40k
Engineering Biometric UX Across Android Versions | DroidKnights 2026
ryunen344
1
200
高橋メソッドでCVE解説シリーズ 〜CVE-2026-112816〜
hakkadaikon
0
260
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.3k
小さなアプリを作って公開するまで
onozaty
0
170
ローカルLLMの基本と近況 2611 / Local LLM basics and recent situation 2611
kishida
2
330
学びを記事・スライド・Xへ高速展開する― AI-assisted Learning Loopで回すコンテンツ生成術
ochtum
0
210
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
750
はじめてのPLATEAU
nokonoko1203
1
650
Featured
See All Featured
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
520
How to build a perfect <img>
jonoalderson
1
6.2k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
980
Designing for Performance
lara
612
70k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.3k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
560
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
350
GraphQLとの向き合い方2022年版
quramy
50
15k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
450
エンジニアに許された特別な時間の終わり
watany
109
250k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.8k