flask-URL路由及多URL路由

flask-URL路由及多URL路由

1.多个路由绑定一个视图函数:

2.装饰器必须放在最下面,且装饰器内部必须返回被装饰对象的response,如下:

import time
 
from flask import Flask, request, render_template
 
# 1.初始化app
app = Flask(__name__,template_folder='temps')
 
# 配置
app.config['debug']=True
app.config['port']=5002
 
def timer(func):
    def decorator(*args,**kwargs):
        print(time.time())
        return func(*args,**kwargs)     # 此处必须返回被装饰对象的执行结果,此处相当于return render_template('index.html')
    return decorator
 
# 2.添加路由 view function
@app.route('/hello')
@app.route('/sign')
@app.route("/login")
@timer      # 装饰器必须放app.route()下面
def login():
    datas = request.args  # 对后台服务发起get请求的数据会被存在request.args对象中。
    print(datas.get('name'))
    return render_template('index.html')
 
if __name__ == '__main__':
    app.run(debug=app.config["debug"],port=app.config["port"])

3.装饰器+视图函数用来存储访问数据:

def timer(func):
    def decorator(*args,**kwargs):
        app.config['num'] += 1      # 当某个视图函数被访问1次,就会将app.config中的计数配置+1
        return func(*args,**kwargs)     # 此处必须返回被装饰对象的执行结果,此处相当于return render_template('index.html')
    return decorator

参考 https://blog.csdn.net/qq_40132294/article/details/123254000?ops_r

您可能还喜欢...

发表回复