python config_error ai_generated true

AssertionError: 必须安装 SessionMiddleware 才能访问 request.session

AssertionError: SessionMiddleware must be installed to access request.session

ID: python/starlette-session-middleware-missing

其他格式: JSON · Markdown 中文 · English
80%修复率
87%置信度
0证据数
2024-08-14首次发现

版本兼容性

版本状态引入弃用备注
3.x active — — —

根因分析

在未向应用添加 SessionMiddleware 的情况下,在 Starlette/FastAPI 路由中访问 request.session。

English

Accessing request.session in a Starlette/FastAPI route without adding SessionMiddleware to the app.

generic

解决方案

  1. 94% 成功率
    from starlette.middleware.sessions import SessionMiddleware; app.add_middleware(SessionMiddleware, secret_key=SECRET)
  2. 85% 成功率
    Use signed cookies via itsdangerous if you only need one value

无效尝试

常见但无效的做法:

  1. 70% 失败

    request.state has no session semantics or signing.

  2. 85% 失败

    Import alone does not install middleware.