如何在注册时使用django-userena将用户分配到组



我想将用户分为两个不同的组,雇主或员工,注册时。我正在使用django-userena,对于雇主组,我正在考虑使用同一注册视图的克隆,除了绑定了不同的url。

因此,无论谁在url(r'^注册/雇主/$)注册,都将被添加到带有的雇主组

new user = user.groups.add(Group.objects.get(name=employer))

添加到视图中。这是正确的方法吗?

编辑form.save()返回刚刚创建的用户。然后,您只需将其添加到您的群中即可。您的视图应该类似于:

form = signup_form() 
if request.method == 'POST': 
    form = signup_form(request.POST, request.FILES) 
    if form.is_valid(): 
        user = form.save()
        user.groups.add(Group.objects.get(name='employer'))

如果你想把每个用户添加到你的雇主组中,我也会考虑使用信号。这样的操作会将每个新创建的用户添加到其中,并允许您使用userena:中的默认signup视图

# somewhere, in your models.py file
@receiver(post_save, sender=User, dispatch_uid='myproject.myapp.models.user_post_save_handler')
def user_post_save(sender, instance, created, **kwargs):
    """ This method is executed whenever an user object is saved                                                                                     
    """
    if created:
        instance.groups.add(Group.objects.get(name='employer'))

相关内容

  • 没有找到相关文章

最新更新