Session
Session 是 unfazed 的会话管理器,用于管理用户会话
Quick Start
1、配置 session 中间件
# settings.py
UNFAZED_SETTINGS = {
"MIDDLEWARES": ["unfazed.contrib.session.middleware.SessionMiddleware"],
}
2、配置 session 存储
# settings.py
# 使用默认的内存存储
SESSION_SETTINGS = {
"SECRET": uuid.uuid4().hex,
"COOKIE_DOMAIN": "unfazed.com",
"COOKIE_SECURE": True,
}
# 使用 redis 存储
SESSION_SETTINGS = {
"SECRET": uuid.uuid4().hex,
"COOKIE_DOMAIN": "unfazed.com",
"COOKIE_SECURE": True,
"CACHE_ALIAS": "default",
"ENGINE": "unfazed.contrib.session.backends.cache.CacheSession",
}
3、在视图函数中设置 session
# endpoints.py
async def set_session(request: HttpRequest) -> HttpResponse:
request.session["your_session_key"] = {"foo": "bar"}
return HttpResponse("ok")
4、在视图函数中获取 session
# endpoints.py
async def get_session(request: HttpRequest) -> HttpResponse:
session = request.session["your_session_key"]
return HttpResponse("ok")
5、其他操作
# endpoints.py
async def delete_session(request: HttpRequest) -> HttpResponse:
# 删除特定 session
del request.session["your_session_key"]
# 清空所有 session
request.session.clear()
return HttpResponse("ok")
async def update_session(request: HttpRequest) -> HttpResponse:
# 更新 session
request.session["your_session_key"] = {"foo2": "bar2"}
return HttpResponse("ok")