gpt4 book ai didi

django - 限制用户数量

转载 作者:行者123 更新时间:2023-12-01 15:29:08 25 4
gpt4 key购买 nike

(对不起我的英语)

只有一个问题,是否存在任何方法来限制可以在 Django 应用程序中创建的用户数量?

我搜索了很多地方,我只找到了这个,但我在 repo 中看到最后一次更新是 3 年前 https://github.com/1stvamp/django-limit-users

我不知道在 django 的核心中是否存在任何方式或者我是否必须覆盖某些东西!

非常感谢!

最佳答案

虽然我没有时间测试https://github.com/1stvamp/django-limit-users针对新的 Django,它使用 Django 的信号朝着正确的方向前进:https://docs.djangoproject.com/en/dev/ref/signals/

例如,您可以编写一个 pre_savepost_save 处理程序,并将其连接到保存用户模型之前/之后发出的信号。

一个简单的 post_save 处理程序可能如下所示:

def user_post_save(sender, instance, created, **kwargs):
if created and sender.objects.count() > MY_LIMIT:
instance.is_active = False
instance.save()

一个简单的 pre_save 处理程序如下所示:

def user_pre_save(sender, instance, **kwargs):
if instance.id is None and sender.objects.count() > MY_LIMIT:
instance.is_active = False # Make sure the user isn't active

除了 pre_save 处理程序中的最后一行,您还可以引发异常以确保用户甚至没有保存到数据库中。

另一种选择是将其与自定义用户模型相结合,因此您可以使用 over_limit 或任何您想要的代替 is_active。您链接的 repo 是通过单独的 DisabledUser 模型实现的。

关于django - 限制用户数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44273666/

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