Skip to main content
 首页 » 编程设计

python之在 Django 中,如何在没有请求的情况下修改批处理 session

2025年01月19日28Leo_wl

我想在服务器部分修改一批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 列表。