gpt4 book ai didi

Django 。我如何更新所有 session ?

转载 作者:行者123 更新时间:2023-12-02 01:29:57 28 4
gpt4 key购买 nike

我创建了一个简单的学习应用程序:其中包含 Status 模型和 Tasks 模型的列,例如 trello.com。

当我将任务拖放到其他状态列时,我使用 Ajax 调用将页面更新到单个用户。问题是,我如何更新所有 session 的元素?

我需要一些外部的东西或者我只能在 django 上做?

抱歉,如果我的问题太宽泛,我不是要为我编写代码,我只是在寻求建议。

最佳答案

假设您使用的是标准 Django session 模型:

from django.contrib.sessions.models import Session

all_sessions = Session.objects.all()
all_current_sessions = Session.objects.filter(expire_date__lte=timezone.now())

# What fields are available in sessions?
print(Session._meta.fields)
# Standard would be - (<django.db.models.fields.CharField: session_key>, <django.db.models.fields.TextField: session_data>, <django.db.models.fields.DateTimeField: expire_date>

for session in all_sessions:
session_data = session.get_decoded()
print(session_data)

为了写入session_data,需要重新编码session_data。看这个great post有关这方面的信息。

编辑:要对此进行补充,请参阅 this answer这显示了如何使用 SessionStore 重新编码 session 数据。

来自链接的答案 -

from django.contrib.sessions.backends.db import SessionStore

# look up our sessions in session store
for session_key in logged_in:
s = SessionStore(session_key=session_key)
s['test'] = True
s.save()
s.modified
# True

关于 Django 。我如何更新所有 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34887468/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com