РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
111 of 307 menu

Атрибут session

Атрибут session применяется к объекту Request и представляет собой словарь, в котором можно хранить произвольные данные, связанные с текущим запросом. Он доступен только на время обработки одного запроса и не сохраняется между разными запросами. Атрибут удобен для передачи промежуточных значений между зависимостями и обработчиком маршрута.

Синтаксис

request.session

Пример

Давайте запишем значение в session внутри зависимости и прочитаем его в обработчике маршрута:

from fastapi import FastAPI, Request, Depends app = FastAPI() def set_data(request: Request): request.session['user'] = 'abcde' @app.get('/') def index(request: Request, dep=Depends(set_data)): return {'user': request.session.get('user')}

Результат выполнения кода:

{"user": "abcde"}

Пример

Давайте сохраним в session несколько значений и вернём их в ответе:

from fastapi import FastAPI, Request app = FastAPI() @app.get('/user/{name}') def user(name: str, request: Request): request.session['name'] = name request.session['greeting'] = 'hello' return { 'name': request.session['name'], 'greeting': request.session['greeting'] }

Результат выполнения кода для адреса /user/abcde:

{"name": "abcde", "greeting": "hello"}

Смотрите также

  • класс Request,
    который представляет HTTP-запрос
  • атрибут state,
    который хранит произвольные данные приложения
  • атрибут app,
    который хранит ссылку на приложение FastAPI
  • метод close,
    который закрывает текущий запрос
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить