Était-ce utile?

La solution

Pour commencer, je ne suis pas un expert d-r (django-enregistrement) et en fait seulement vérifié parce que vous l'a mentionné dans votre question. Donc, si quelqu'un a une meilleure réponse s'il vous plaît soumettre. Quoi qu'il en soit, ici il va.

Je remarque que les utilisateurs de façon (ou « profils » que les appels d-r eux) sont créés se trouve dans la fonction create_inactive_user situé dans registration.models.RegistrationManager. Ainsi, dans cette fonction après:

new_user.is_active = False
new_user.save()

Vous pouvez ajouter quelque chose comme:

default_group = Group.objects.get(name=WHATEVER_THE_GROUP_NAME_IS)
user_group, is_created = UserGroup.get_or_create(user=new_user)
user_group.group = default_group
#user_group.groups.add(default_group)   # Django ver. 1.7+
user_group.save()

Vous pourriez probablement faire sans get_or_create que je ne pense pas que vous pouvez créer plus d'un utilisateur avec le même nom d'utilisateur, mais je préfère être prudent que désolé.

Cette méthode va vous amener à modifier les fichiers dr (qui ne peut être la meilleure chose à faire) ainsi que hardcoding certaines choses (comme le nom du groupe par défaut), mais il devrait être un bon pas à pas de points.

PS. le nom du groupe par défaut pourrait être une variable située dans le fichier settings.py, ce qui rendrait plus accessible et jolie. Exemple:

settings.py:
DEFAULT_GROUP_NAME = 'YOUR GROUP NAME'

registration/models.py:
default_group = Group.objects.get(name=settings.DEFAULT_GROUP_NAME)

Quoi qu'il en soit, l'espoir qui aide.

Autres conseils

J'ai fini par faire une fourchette pour cela, car cela me rendait fou.

https://github.com/kcunning/django-registration

En fait, ajoutez ce qui suit à votre fichier settings.py:

REGISTRATION_DEFAULT_GROUP_NAME = "Nom du groupe"

Tout utilisateur ajouté par le module d'inscription sera donné ce groupe lors de la création.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top