我想在服务器部分修改一批django session 并为django session 创建字段,这样我就可以在每个 session 中放一个列表。 环境:django 1.11.3 python 3.5
1、如何在没有请求的情况下通过字段线索(如用户id\电话号码等)访问这些 session ?
2、请求前如何设置session格式?
请您参考如下方法:
您可以使用 SessionStore 在 View 外修改 session .假设您正在使用数据库支持的 session ,您可以为特定的用户列表更新特定的 session 子集,如下所示:
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 列表。
