78 votes

Comment connecter automatiquement un utilisateur après son enregistrement dans Django

C’est ce que j’utilise actuellement pour l’enregistrement :

Est-il possible de ne pas exiger de l’utilisateur pour vous connecter manuellement après avoir créé un compte, mais plutôt simplement pour eux Connectez-vous automatiquement ? Merci.

Edit : J’avais essayé la fonction login() sans succès. Je crois que le problème est que AUTHENTICATION_BACKENDS n’était pas établi.

117voto

Ben James Points 41165

Utilisation des fonctions authenticate() et login() :

 from django.contrib.auth import authenticate, login

def register(request):
    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        if form.is_valid():
            new_user = form.save()
            messages.info(request, "Thanks for registering. You are now logged in.")
            new_user = authenticate(username=request.POST['username'],
                                    password=request.POST['password'])
            login(request, new_user)
            return HttpResponseRedirect("/dashboard/")
 

-6voto

user2430058 Points 1

login () prend exactement 1 argument (2 donnés) Méthode de requête: POST URL de la requête: local / validar / Django Version: 1.4.3 Type d'exception: TypeError Valeur d'exception:
login () prend exactement 1 argument (2 donnés)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X