python的flask框架下不同路由之间传递变量的一种办法

我查了一下解决这个问题的办法,一般是设定全局变量,今天介绍一种新办法

上代码difrouters.py

from flask import Flask, render_template
app = Flask(__name__)

class DataStore():
    a = None
    c = None

data = DataStore()

@app.route("/index")
def index():
    a=3
    b=4
    c=a+b
    data.a=a
    data.c=c
    return render_template("index.html",c=c)

@app.route("/dif")
def dif():
    d=data.c+data.a
    return render_template("dif.html",d=d)

if __name__ == "__main__":
    app.run(debug=True)

index.html

<html>
<head>
  <title>Home</title>
</head>
<body>
  结果c={{ c }}
</body>
</html>

dif.html

<html>
<head>
  <title>different router</title>
</head>
<body>
  结果d={{ d }}
</body>
</html>

运行结果

在路由index上的结果

python的flask框架下不同路由之间传递变量的一种办法

 在路由dif上的结果

python的flask框架下不同路由之间传递变量的一种办法

 代码见https://github.com/qingnvsue/flask 中的difrouters文件夹

相关推荐