password - ¿Cómo asignar un usuario a un grupo al registrarse utilizando django-userena?
login url django (1)
Editado : form.save()
devuelve el usuario que acaba de crear. Tienes que simplemente agregarlo a tu grupo. Tu vista debería verse más o menos así:
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''))
También consideraría usar señales , si lo que desea hacer es agregar a cada usuario a su grupo de empleadores . Algo así agregará a cada usuario recién creado y le permitirá usar la vista de signup
predeterminada de userena
:
# 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''))
Me gustaría separar a los usuarios en dos grupos diferentes, empleador o empleado, en el momento del registro. Estoy usando django-userena y para el grupo de empleadores estoy pensando en usar un clon de la misma vista de registro excepto con una URL diferente vinculada a él.
Entonces, quien se registre en url (r ''^ signup / employer / $) se agregará al grupo de empleadores con
new user = user.groups.add(Group.objects.get(name=employer))
agregado a la vista. ¿Es este el enfoque correcto?