@app.before_request 请求进入视图函数之前
@app.after_request 请求结束,返回影响客户端之前
正常 be1 - be2 - be3 - vf - af3 - af2 - af1
异常 be1 - be2 - af3 - af2 - af1
@app.errorhandler(4xx or 5xx) 重定义错误信息
@app.errorhandler(404)
def error404(ErrorMessage):
   print(ErrorMessage)
   return redirect("https://www.autohome.com.cn/beijing/asdfe32r24rff23r23r")
   # return send_file("image/1.jpg")
代码如下:
from flask import Flask, session, request, redirect, render_template, send_file
app = Flask(__name__)
# 开启session:
app.secret_key = '$%^&*(%$%^&*('
@app.before_request
def be1():
    print("be1")
@app.before_request
def be2():
    print("be2")
    if request.path == "/login":
        return None
    if session.get("user"):
        return None
    else:
        return redirect("/login")
@app.before_request
def be3():
    print("be3")
@app.after_request
def af3(res):
    print("af3")
    return res
@app.after_request
def af2(res):
    print("af2")
    return res
@app.after_request
def af1(res):
    print("af1")
    return res
@app.route("/login", methods=["Get", "Post"])
def login():
    if request.method == "GET":
        return render_template("login.html")
    else:
        session["user"] = request.form.get("username")
        return "登录成功"
@app.route("/index")
def index():
    print("我是视图函数")
    return render_template("index.html")
@app.route("/index1")
def index1():
    return render_template("index.html")
@app.route("/index2")
def index2():
    return render_template("index.html")
@app.errorhandler(404)
def error404(ErrorMessage):
    print(ErrorMessage)
    return redirect("https://www.autohome.com.cn/beijing/asdfe32r24rff23r23r")
    # return send_file("image/1.jpg")
if __name__ == '__main__':
    app.run()
HTML页面如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
  <title>Bootstrap 101 Template</title>
  <!-- Bootstrap -->
</head>
<body>
<h1>你好,世界!</h1>
{#增加静态访问路径#}
<img src="/static/1.jpg">
</body>
</html>