鱼C论坛

 找回密码
 立即注册
查看: 2243|回复: 2

[技术交流] Flask学习笔记3:请求调度

[复制链接]
发表于 2020-3-11 14:35:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Flask学习笔记3:请求调度


        URL映射

程序收到客户端的请求时,需要寻找对应的视图函数,

这时候Flask就会使用URL映射来寻找,URL映射就是URL和视图函数的对应关系。

Flask使用@app.route或者app.add_url_rule()生成映射。

查看映射的方法

from flask import Flask
from time import sleep
app = Flask(__name__)

@app.route('/')
def index():
    return "<h1> HELLO WORLD!</h1>"

@app.route('/name/<name>')
def user(name):
    return "<h1>YOUR NAME IS %s</h1>" % name

@app.route('/math/<int:shu1> <p> <int:shu2>')
def math(shu1, p, shu2):
    if p == '+':
        return "<h1>%d + %d = %d</h1>" % (shu1, shu2, shu1 + shu2)
    elif p == '-':
        return "<h1>%d - %d = %d</h1>" % (shu1, shu2, shu1 - shu2)
    elif p == '*':
        return "<h1>%d * %d = %d</h1>" % (shu1, shu2, shu1 * shu2)

@app.route('/math/chu/<int:shu1> <int:shu2>')
def chu(shu1, shu2):
    if shu2 != 0:
        return "<h1>%d / %d = %.2f</h1>" % (shu1, shu2, shu1 / shu2)

if __name__ == "__main__":
    app.run(debug=True)
>>> from hello import app
>>> app.url_map
Map([<Rule '/' (GET, HEAD, OPTIONS) -> index>,
 <Rule '/math/chu/<shu1> <shu2>' (GET, HEAD, OPTIONS) -> chu>,
 <Rule '/math/<shu1> <p> <shu2>' (GET, HEAD, OPTIONS) -> math>,
 <Rule '/static/<filename>' (GET, HEAD, OPTIONS) -> static>, # 用于操作静态文件,会在后面学到
 <Rule '/name/<name>' (GET, HEAD, OPTIONS) -> user>])

可以看到,上面代码只要写了@app.route,url_map里面就会有相应的路径。

这里面的GET,Head,Options是请求方法,由路由进行处理。

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-11 14:40:00 | 显示全部楼层
怎么你又忘记放到专辑里面了。

还有,建议把专辑名称改为 "Flask 学习笔记"
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-11 14:43:15 | 显示全部楼层
一个账号 发表于 2020-3-11 14:40
怎么你又忘记放到专辑里面了。

还有,建议把专辑名称改为 "Flask 学习笔记"

不是说了要是我忘了就帮我放进去,别提这事了
还有,名字已改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 16:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表