@stan288

FastAPI устанавливает новую сессию для каждого запроса, как можно исправить?

У меня есть такой код, мне нужно чтобы сессия создавалась только в эндпоинте session_set. Но она также создается в session_info. Как это исправить?

import uvicorn
from fastapi import FastAPI, Request
from starlette.middleware.sessions import SessionMiddleware

app = FastAPI()
app.add_middleware(SessionMiddleware, secret_key="some-random-string", max_age=None)


@app.get("/a")
async def session_set(request: Request):
    request.session["my_var"] = "1234"
    return 'ok'


@app.get("/b")
async def session_info(request: Request):
    my_var = request.session.get("my_var", None)
    return my_var


if __name__ == '__main__':
    uvicorn.run('http-session:app', port=5000, reload=True)
  • Вопрос задан
  • 303 просмотра
Пригласить эксперта
Ответы на вопрос 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Не знаю, как именно это надо в fast api делать, но полагаю, что можно сессию открыть один раз и передать в остальные функции, нуждающиеся в сессиях, в качестве аргумента.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы