我正在使用 Python(2.7) 和 Django(1.11) 开发一个项目,其中我只需要显示特定功能的登录用户。
我已经通过以下设置实现了注销用户settings.py:
SESSION_COOKIE_AGE = 180
SESSION_SAVE_EVERY_REQUEST = True
LOGOUT_REDIRECT_URL = 'login'
我需要获得以下类型的活跃用户driver:
def get_all_logged_in_users():
# Query all non-expired sessions
# use timezone.now() instead of datetime.now() in latest versions of Django
sessions = Session.objects.filter(expire_date__gte=timezone.now())
uid_list = []
# Build a list of user ids from that query
for session in sessions:
data = session.get_decoded()
print(data)
uid_list.append(data.get('user_id', None))
# Query all logged in users based on id list
return user_table.objects.filter(id__in=uid_list, user_type='driver')
它一直工作到几天前,但突然停止工作了。当我在时间过去后刷新页面时,SESSION_COOKIE_AGE它重定向到完美的登录页面,但在数据库中,is_active该用户仍然存在True并且它仍然显示在get_all_logged_in_users.
我该如何解决这个问题?