鱼C论坛

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

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

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

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

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

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


        URL映射

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

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

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

查看映射的方法


  1. from flask import Flask
  2. from time import sleep
  3. app = Flask(__name__)

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

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

  10. @app.route('/math/<int:shu1> <p> <int:shu2>')
  11. def math(shu1, p, shu2):
  12.     if p == '+':
  13.         return "<h1>%d + %d = %d</h1>" % (shu1, shu2, shu1 + shu2)
  14.     elif p == '-':
  15.         return "<h1>%d - %d = %d</h1>" % (shu1, shu2, shu1 - shu2)
  16.     elif p == '*':
  17.         return "<h1>%d * %d = %d</h1>" % (shu1, shu2, shu1 * shu2)

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

  22. if __name__ == "__main__":
  23.     app.run(debug=True)
复制代码

  1. >>> from hello import app
  2. >>> app.url_map
  3. Map([<Rule '/' (GET, HEAD, OPTIONS) -> index>,
  4. <Rule '/math/chu/<shu1> <shu2>' (GET, HEAD, OPTIONS) -> chu>,
  5. <Rule '/math/<shu1> <p> <shu2>' (GET, HEAD, OPTIONS) -> math>,
  6. <Rule '/static/<filename>' (GET, HEAD, OPTIONS) -> static>, # 用于操作静态文件,会在后面学到
  7. <Rule '/name/<name>' (GET, HEAD, OPTIONS) -> user>])
复制代码


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

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

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

还有,建议把专辑名称改为 "Flask 学习笔记"
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

不是说了要是我忘了就帮我放进去,别提这事了
还有,名字已改
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-2 09:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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