深圳百度推广网站建设,wordpress提供restful,方维不变心心的初心,国际贸易采购平台一.使用 Flask中的特殊装饰器(中间件)方法常用的有三个 app.before_request # 在请求进入视图函数之前app.after_request # 在请求结束视图函数之后 响应返回客户端之前app.errorhandler(404) # 重定义错误信息before_request
def func():passafter_request
def func(ret): # …一.使用 Flask中的特殊装饰器(中间件)方法常用的有三个 app.before_request # 在请求进入视图函数之前app.after_request # 在请求结束视图函数之后 响应返回客户端之前app.errorhandler(404) # 重定义错误信息 before_request
def func():passafter_request
def func(ret): # 函数中要加参数passapp.errorhandler(404) # 错误代码
def error404(errormessage): # 函数中要加参数pass 二.执行顺序 1. before_request返回值为None,正常状态具体分析 from flask import Flask, request, session, redirectapp Flask(__name__)
app.secret_key #$%^*(app.before_request # 在请求 之前
def be1():print(be1)app.before_request # 在请求 之前
def be2():print(be2)app.before_request # 在请求 之前
def be3():print(be3)app.route(/)
def index():print(index page)return index pageapp.after_request
def af1(vf_ret):# vf_ret.response[0]b2000000 OK!print(af1)return vf_retapp.after_request
def af2(vf_ret):# vf_ret.response[0]b2000000 OK!print(af2)return vf_retapp.after_request
def af3(vf_ret):# vf_ret.response[0]b2000000 OK!print(af3)return vf_retapp.errorhandler(404)
def error404(error_message):print(error_message)# return f你确定你要查看{request.path}这个页面吗它已经走丢了你快去找吧 return redirect(http://baidu.com)if __name__ __main__:app.run(debugTrue) 结果 2. 如果在before_request中返回值不为空 在before_request中返回值不为空的话,那么它会将每一个after_request都走一遍 from flask import Flask, request, session, redirectapp Flask(__name__)
app.secret_key #$%^*(app.before_request # 在请求 之前
def be1():print(be1)return 111app.before_request # 在请求 之前
def be2():print(be2)app.before_request # 在请求 之前
def be3():print(be3)app.route(/)
def index():print(index page)return index pageapp.route(/login)
def login():print(正在登陆......)session[username] usernamereturn loginapp.after_request
def af1(vf_ret):# vf_ret.response[0]b2000000 OK!print(af1)return vf_retapp.after_request
def af2(vf_ret):# vf_ret.response[0]b2000000 OK!print(af2)return vf_retapp.after_request
def af3(vf_ret):# vf_ret.response[0]b2000000 OK!print(af3)return vf_retapp.errorhandler(404)
def error404(error_message):print(error_message)# return f你确定你要查看{request.path}这个页面吗它已经走丢了你快去找吧 return redirect(http://baidu.com)if __name__ __main__:app.run(debugTrue) 结果: 转载于:https://www.cnblogs.com/robertx/p/10692259.html