我正在嘗試使用會話在 fastapi 中的視圖函式之間傳遞變數。但是,我沒有找到任何專門提到會話物件的檔案。我看到的任何地方都使用cookies。有沒有辦法在fastapi中轉換下面的燒瓶代碼?我想讓會話實作盡可能簡單。
from flask import Flask, session, render_template, request, redirect, url_for
app=Flask(__name__)
app.secret_key='asdsdfsdfs13sdf_df%&'
@app.route('/a')
def a():
session['my_var'] = '1234'
return redirect(url_for('b'))
@app.route('/b')
def b():
my_var = session.get('my_var', None)
return my_var
if __name__=='__main__':
app.run(host='0.0.0.0', port=5000, debug = True)
uj5u.com熱心網友回復:
看看Starlette的SessionMiddleware。FastAPI 在底層使用 Starlette,因此它是兼容的。
注冊后SessionMiddleware,您可以訪問Request.session,這是一個字典。
檔案:會話中間件
FastAPI 中的實作可能如下所示:
@app.route("/a")
async def a(request: Request) -> RedirectResponse:
request.session["my_var"] = "1234"
return RedirectResponse("/b")
@app.route("/b")
async def b(request: Request) -> PlainTextResponse:
my_var = request.session.get("my_var", None)
return PlainTextResponse(my_var)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/406535.html
標籤:
上一篇:跨域請求之間的燒瓶會話不持久
