95 - 在Flask中如何使用动态路由

举报
ruochen 发表于 2021/03/28 23:23:25 2021/03/28
【摘要】 1. 静态路由和动态路由有什么区别? 路由 Utl Pathhttp://loaclhost/abc/test.html 静态路由 Path与路由函数一一对应 动态路由 多个Path与同一个路由函数对应http://loaclhost/abc/test.htmlhttp://loaclhost/xyz/test.html不管访问哪一个Url,都会执行同一个服务端的路由...

1. 静态路由和动态路由有什么区别?

  • 路由
    • Utl Path
    • http://loaclhost/abc/test.html
  • 静态路由
    • Path与路由函数一一对应
  • 动态路由
    • 多个Path与同一个路由函数对应
    • http://loaclhost/abc/test.html
    • http://loaclhost/xyz/test.html
    • 不管访问哪一个Url,都会执行同一个服务端的路由函数

2. 如何使用Flask实现动态路由

'''
pip install flack
'''

from flask import Flask
app = Flask('__name__')

# 静态路由
@app.route('/')
def index(): return '<h1>root</h1>'

@app.route('/greet')
def greet(): return '<h1>Hello everyone</h1>'

@app.route('/greet/bill')
def greetBill(): return '<h1>你好 Bill</h1>'

# 动态路由
@app.route('/greet/<name>')
def greetName(name): return '<h1>Hello {}</h1>'.format(name)

'''
如果静态路由和动态路由有冲突,优先使用静态路由
'''

@app.route('/greet/<a1>/<a2>/<a3>')
def args1(a1, a2, a3): return '<h1>{},{},{}</h1>'.format(a1, a2, a3)

@app.route('/greet/<a1>-<a2>-<a3>')
def args2(a1, a2, a3): return '<h1>{}*{}*{}</h1>'.format(a1, a2, a3)

if __name__ == '__main__': app.run()

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
 * Serving Flask app "__name__" (lazy loading)
 * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Debug mode: off * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [31/Mar/2020 15:57:45] "GET /greet/bill/1/2 HTTP/1.1" 200 -
127.0.0.1 - - [31/Mar/2020 15:57:54] "GET /greet/1-2-3 HTTP/1.1" 200 -

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

96 - 用Flask实现转发与重定向

文章来源: ruochen.blog.csdn.net,作者:若尘,版权归原作者所有,如需转载,请联系作者。

原文链接:ruochen.blog.csdn.net/article/details/105264212

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。