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
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
38
11k
QA x AIエコシステム段階構築作戦
osu
0
240
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
10
1.6k
Understanding Kotlin Multiplatform
l2hyunwoo
0
250
React は次の10年を生き残れるか:3つのトレンドから考える
oukayuka
41
16k
GUI操作LLMの最新動向: UI-TARSと関連論文紹介
kfujikawa
0
560
No Install CMS戦略 〜 5年先を見据えたフロントエンド開発を考える / no_install_cms
rdlabo
0
460
React 使いじゃなくても知っておきたい教養としての React
oukayuka
18
5.4k
Android 15以上でPDFのテキスト検索を爆速開発!
tonionagauzzi
0
190
Vibe Codingの幻想を超えて-生成AIを現場で使えるようにするまでの泥臭い話.ai
fumiyakume
21
10k
「次に何を学べばいいか分からない」あなたへ──若手エンジニアのための学習地図
panda_program
3
720
リッチエディターを安全に開発・運用するために
unachang113
1
360
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
880
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
A designer walks into a library…
pauljervisheath
207
24k
Code Reviewing Like a Champion
maltzj
524
40k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
KATA
mclloyd
32
14k
Navigating Team Friction
lara
188
15k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Writing Fast Ruby
sferik
628
62k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.7k
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