我想修改服务器部分中的一批django会话并为django会话创建字段,以便我可以在每个会话中放置一个列表。 环境:django 1.11.3 python 3.5
1,如何在没有请求的情况下通过字段线索(如用户ID \ phoneNO等)访问这些会话?
2,如何在请求之前设置会话格式?
答案 0 :(得分:1)
您可以使用SessionStore
修改视图外的会话。假设您正在使用数据库支持的会话,您可以为特定的用户列表更新特定的会话子集,如下所示:
from datetime import datetime
from django.contrib.sessions.backends.db import SessionStore
from django.contrib.sessions.models import Session
interesting_user_ids = [] # ids of users you want to modify sessions for
new_data = [] # list that you want to add to each session
for session in Session.objects.filter(expire_date__gt=datetime.now()):
store = SessionStore(session_key=session.session_key)
if store.get('_auth_user_id') in interesting_user_ids:
store['new_data'] = new_data
store.save()
显然,您需要根据需要填充interesting_user_ids
和new_data
的列表。