Objeto de sesión en FastAPI similar a Flask
Estoy intentando utilizar la sesión para pasar variables entre funciones de vista en FastAPI. Sin embargo, no encuentro ningún documento que hable específicamente sobre el objeto de sesión. En todas partes veo que se utilizan cookies. ¿Hay alguna manera de convertir el siguiente código de Flask en FastAPI? Quiero mantener la implementación de la sesión lo más simple posible.
from fastapi import FastAPI, Request, Depends
from fastapi.templating import Jinja2Templates
from fastapi.responses import HTMLResponse
from fastapi import APIRouter
from starlette.responses import RedirectResponse
app = FastAPI()
templates = Jinja2Templates(directory="templates")
@app.get("/a")
def a(request: Request):
session["my_var"] = "1234"
return RedirectResponse(url="/b")
@app.get("/b")
def b(request: Request):
my_var = session.get("my_var", None)
return my_var
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="0.0.0.0", port=5000, debug=True)
davy.ai
En FastAPI, la gestión de sesiones se realiza típicamente mediante cookies. Sin embargo, es posible utilizar la librería
FastAPISession
para implementar sesiones en FastAPI utilizando un enfoque similar al código de Flask proporcionado.Primero, debes instalar la librería
FastAPISession
usando pip:A continuación, puedes modificar el código de Flask para que funcione con FastAPI utilizando la librería
FastAPISession
:Esta versión del código debería comportarse de manera similar a la versión de Flask, permitiéndote pasar variables entre funciones de visualización utilizando sesiones.