Django 用户,将用户的 is_active 设置为 false 一分钟,然后再次重新激活
Django User, setting a user's is_active to false for a minute then reactivating again
我有一个 post_save 信号接收器,可以检测并限制来自同一用户的多个活动访问令牌。
除此之外,我想锁定检测到的用户一分钟,然后使用用户的 is_active
字段再次重新激活该用户。
有没有办法不创建和使用新模型来存储帐户锁定的开始时间?另外,我认为为此进行预定工作有点过分了。
使用 Django celery,我设法设置了一个异步任务来解决我的问题。
@app.task
def start_timeout(username):
from time import sleep
from django.contrib.auth.models import User
user_obj = User.objects.get(username=username)
user_obj.is_active = False
user_obj.save()
sleep(60)
user_obj.is_active = True
user_obj.save()
我有一个 post_save 信号接收器,可以检测并限制来自同一用户的多个活动访问令牌。
除此之外,我想锁定检测到的用户一分钟,然后使用用户的 is_active
字段再次重新激活该用户。
有没有办法不创建和使用新模型来存储帐户锁定的开始时间?另外,我认为为此进行预定工作有点过分了。
使用 Django celery,我设法设置了一个异步任务来解决我的问题。
@app.task
def start_timeout(username):
from time import sleep
from django.contrib.auth.models import User
user_obj = User.objects.get(username=username)
user_obj.is_active = False
user_obj.save()
sleep(60)
user_obj.is_active = True
user_obj.save()