IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Django Python Discussion :

Connexion / Deconnexion


Sujet :

Django Python

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 69
    Points : 63
    Points
    63
    Par défaut Connexion / Deconnexion
    Bonsoir à vous, j'essaye d'utiliser l'authentification de django, j'arrive à deux cas de figures, soit la connexion marche et pas la déconnexion, soit c'est l'inverse. Je passe de l'un à l'autre en changeant une ligne dans urls.py, donc je me dis que le problème vient sûrement de la et qu'aucune de mes deux méthodes soient corrects. Je vous mets ce que je pense utile.

    Après avoir cherché c'est un problème de redirection, la redirection se fait sur localhost alors qu'elle devrait se faire sur localhost/connexion, si quelqu'un a déja eu ce problème son aide est la bienvenue.

    Merci beaucoup pour votre temps.

    views.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     from django.contrib.auth import authenticate, login, logout
    from django import forms
    from .forms import ConnexionForm
    from django.shortcuts import render, redirect
    from django.urls import reverse
     
     
    def connexion(request):
        error = False
     
        if request.method == "POST":
            form = ConnexionForm(request.POST)
            if form.is_valid():
                username = form.cleaned_data["username"]
                password = form.cleaned_data["password"]
                user = authenticate(username=username, password=password)
                if user:  
                    login(request, user)  
                else: 
                    error = True
        else:
            form = ConnexionForm()
     
        return render(request, 'connexion.html', locals())
     
    def deconnexion(request):
        logout(request)
        return redirect(reverse(connexion))
    models.py
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     from django.contrib.auth.models import User
    from django.db import models
     
    class Profil(models.Model):
        user = models.OneToOneField(User, on_delete=models.CASCADE)  # La liaison OneToOne vers le modèle User
        site_web = models.URLField(blank=True)
        avatar = models.ImageField(null=True, blank=True, upload_to="avatars/")
        signature = models.TextField(blank=True)
        inscrit_newsletter = models.BooleanField(default=False)
     
        def __str__(self):
            return "Profil de {0}".format(self.user.username)
    Et les deux urls.py:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     # Dans le fichier urls.py de notre application auth
    from django.conf.urls import url
    from . import views
     
    urlpatterns = [
     
        url(r'^connexion$', views.connexion, name='connexion'),
        url(r'^deconnexion$', views.deconnexion, name='deconnexion')
    ]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     # Dans le fichier urls.py de notre application auth
    from django.conf.urls import url
    from . import views
     
    urlpatterns = [
        url('', views.connexion, name='connexion'),
        url(r'^connexion$', views.connexion, name='connexion'),
        url(r'^deconnexion$', views.deconnexion, name='deconnexion')
    ]

  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 69
    Points : 63
    Points
    63
    Par défaut
    J'ai trouvé l'erreur ! Le problème venait du form lui-même dans le fichier .html, c'est sa redirection qui était prise en compte.

Discussions similaires

  1. [MySQL] suivi des sessions dans une base de donnée (connexion, deconnexion)
    Par markham dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/02/2017, 23h08
  2. Connexion Deconnexion Socket communication balance
    Par juju1988 dans le forum Web & réseau
    Réponses: 8
    Dernier message: 10/06/2015, 16h20
  3. Socket : Connexion/Deconnexion avec CAsyncSocket
    Par viklaus83 dans le forum MFC
    Réponses: 2
    Dernier message: 20/07/2009, 12h08
  4. connexion/deconnexion site web - variable SESSION
    Par ju0123456789 dans le forum Langage
    Réponses: 22
    Dernier message: 21/11/2008, 14h32
  5. Script de connexion / Deconnexion des lecteurs réseaux
    Par f1vincent dans le forum Développement
    Réponses: 1
    Dernier message: 31/01/2007, 16h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo