我运行的是Django 2.0.8,目前使用的是django-allauth。
当一个新的用户注册/注册,我希望他们被自动添加到一个组,并给予员工状态,以便他们可以登录到管理页面。
我有read some of the documentation,但我现在不明白它是如何联系在一起的,每个新用户都默认有一些权限。
发布于 2018-08-23 05:11:51
在这种情况下,如果你不能访问用户模型并且它的保存功能,你可以在post保存信号中添加你的逻辑。
@receiver(models.signals.post_save, sender=User)
def post_save_user_signal_handler(sender, instance, created, **kwargs):
if created:
instance.is_staff = True
group = Group.objects.get(name='Group name')
instance.groups.add(group)
instance.save()发布于 2018-08-23 04:21:37
要将新用户标记为员工,请使用is_staff属性。要将用户添加到组中,请使用user.groups.add(group)从DB获取Group对象并将其添加到用户
from django.contrib.auth.models import Group
user = User.objects.create_user('john', 'lennon@thebeatles.com', 'johnpassword')
user.is_staff = True
user.save()
group = Group.objects.get(name='Group name')
user.groups.add(group) https://stackoverflow.com/questions/51974276
复制相似问题