gpt4 book ai didi

python - 如何在 Django 中注销用户(没有请求)

转载 作者:太空宇宙 更新时间:2023-11-03 11:15:21 24 4
gpt4 key购买 nike

在 django 中,我可以通过以下方式注销用户:

from django.contrib.auth import logout
logout(request)

但是,我如何手动注销使用——例如我想“让用户退出所有选项卡”——也就是说,我如何刷新我的数据库中该用户的所有 session ?

最佳答案

您可以将以下方法添加到您的用户对象:

from django.utils import timezone
from django.contrib.sessions.models import Session

class User(models.model):
...

def remove_all_sessions(self):
user_sessions = []
all_sessions = Session.objects.filter(expire_date__gte=timezone.now())
for session in Session.objects.all():
if str(self.pk) == session.get_decoded().get('_auth_user_id'):
user_sessions.append(session.pk)
return Session.objects.filter(pk__in=user_sessions).delete()

关于python - 如何在 Django 中注销用户(没有请求),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52960585/

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