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 Route
Search
fanker
June 24, 2014
Programming
1
170
Flask Route
It talks about the route in flask
fanker
June 24, 2014
Tweet
Share
Other Decks in Programming
See All in Programming
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
390
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1.1k
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
170
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
250
[Kaigi on Rais 2025] 全問正解率3%: RubyKaigiで出題したやりがちな危険コード5選
power3812
0
130
株式会社 Sun terras カンパニーデック
sunterras
0
290
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
3.3k
理論と実務のギャップを超える
eycjur
0
130
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
160
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
860
明日から始めるリファクタリング
ryounasso
0
140
All About Angular's New Signal Forms
manfredsteyer
PRO
0
140
Featured
See All Featured
KATA
mclloyd
32
15k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
It's Worth the Effort
3n
187
28k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Gamification - CAS2011
davidbonilla
81
5.5k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Building Adaptive Systems
keathley
43
2.8k
Transcript
FLASK ROUTE Author:fanker Date:2014-06-24
路由:route() 这个装饰器把一个函数绑定到对应的URL上面 eq: @app.route('/') def index(): return 'Index Page' @app.route('/hello')
def hello(): return 'Hello World'
变量规则 要给 URL 添加变量部分,你可以把这些特 殊的字段标记为 <variable_name> , 这个部分 将会作为命名参数传递到你的函数。规则 可以用
<converter:variable_name> 指定一个可选 的转换器
eq: @app.route('/user/<username>') def show_user_profile(username): #show the user profile for that
user return ‘User {0}‘.format(username) @app.route('/hello') def hello(): return 'Hello World'
唯一的网址/重定向行为 Flask的URL规则基于Werkzeug的路由模块 这个模块背后的思想是基于 Apache 以及更早的 HTTP 服务器规定的先例, 保证优雅且唯一的 URL。 eq:
@app.route('/hello/') def hello(): return ‘The Hello page' @app.route('/about') def about(): return ‘The about page'
这两种URL看起来很相似,但是: ‘/hello/’ 结尾带斜线,如果访问不带斜线的URL会被重 定向到带斜线的规范URL去 ‘/about’ 结尾不带斜线,如果访问带斜线的URL会出现 404错误
重定向函数:redirect() eq: @app.route('/') def index(): return redirect(url_for(‘login’)) 在这里当访问/的时候,会重定向到login方法
构建URL:url_for() 使用url_for()可以给一个特定的函数构造URL, 它接受一个函数名作为第一个参数和一些关 键字参数,每个对应 URL 规则的变量部分。 未知变量部分会添加到 URL 末尾作为查询参 数
HTTP请求方法 HTTP (web 应用会话的协议)知道访问 URL 的不同 方法。默认情况下,路由只回应GET 请求,但是通 过给 route()
装饰器提供 methods 参数可以更改这个 行为 @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': do_the_login() else: show_the_login_form()
静态文件 静态文件通常是CSS和JavaScript文件的存放位置 只要在包中或者模块旁边创建一个名为static的 文件夹,在应用中使用/static即可访问 给静态文件生成URL,使用特殊的’static’端点名 url_for(‘static’, filename=‘style.css’) 路径:static/style.css