簡體   English   中英

如何在 Flask (python) 中的路由之間共享變量

[英]How to share variables between routes in Flask (python)

我正在嘗試使用會話在 Flask 中的路由之間共享變量。 這是我正在使用的代碼:

from flask import Flask, jsonify, request, session
from flask_cors import CORS
from flask_session import Session

app = Flask(__name__)
CORS(app)

SESSION_TYPE = 'filesystem'
app.config.from_object(__name__)
app.secret_key = 'abc'

@app.route("/getinputData", methods = ['POST'])
def getData():
    inputData = json.loads(request.data)
    molID = inputData["ID"]
    searchType = inputData["searchType"]
    session["sharedmolID"] = molID
    session["sharedsearchType"] = searchType
    return inputData

@app.route("/querydatabyMol", methods = ['GET'])
def querydatabyMol():
    sharedmolID = session.get("sharedmolID", None)
    sharedsearchType = session.get("sharedsearchType", None)
    print(sharedmolID)
    print(sharedsearchType)
    return sharedmolID

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

sess = Session()
sess.init_app(app)

但是當第二條路線打印變量時,我得到了無。 我已經使用全局變量暫時解決了這個問題,但我讀到它們不是線程安全的,所以我想使用會話。

知道這里有什么問題嗎?

您可以嘗試將“session.get()”方法替換為:

@app.route("/querydatabyMol", methods = ['GET'])
def querydatabyMol():
    sharedmolID = session["sharedmolID"]
    sharedsearchType = session["sharedsearchType"]
    print(sharedmolID)
    print(sharedsearchType)
    return sharedmolID

另請參閱以了解相關問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM