马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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是请求方法,由路由进行处理。 |