我正在使用以下设置在django中执行会话超时:
SESSION_SAVE_EVERY_REQUEST = True
SESSION_COOKIE_AGE = 600
非常简单,我正在寻找一种方法来区分用户组的会话Cookie年龄。例如,我想使普通用户超时的速度要快于工作人员甚至管理员。是否有任何简单的方法可以通过中间件或视图即时修改会话cookie的年龄?有办法避免编写新的会话管理方法吗?
答案 0 :(得分:0)
这是我在项目中所做的:
我在user_logged_in
中使用了admin.py
信号
并从此处设置SESSION_COOKIE_AGE
。我不确定这是否是一个好方法,但是它可以工作。
from django.contrib.auth.signals import user_logged_in def login_hook(sender, **kwargs): settings.SESSION_COOKIE_AGE = settings.SESSION_COOKIE_AGE_ADMIN user_logged_in.connect(login_hook)
如果适用,您还可以尝试使用session.set_expiry
功能。