一、使用before_request装饰器
在[Python自学] Flask框架 (1)的第八节中,我们使用了自定义装饰器实现登录验证功能。
但是这种方式还是比较麻烦,但可以适用于部分视图函数需要添加额外功能的场景。
要统一给视图函数加登录验证功能,还可以使用before_request装饰器(Flask给我们提供):
@app.before_request def auth(): print("before_request")
我们只需要在自定义函数上使用@app.before_request装饰器,每个视图函数执行之前auth函数都会被执行。
@app.before_request def auth(): print("before_request") @app.route('/users', methods=['GET', 'POST']) def user_list(): print("users Page view function") if request.method == 'GET': return render_template('users.html', user_list=USER_INFO)
运行结果:
before_request # 先打印 users Page view function # 后打印
说明,auth函数是在user_list视图函数之前被执行的。