Connexion et déconnexion avec les classes

Exclusif Premium

Débloquez votre potentiel ! ✨

Cette session fait partie de notre programme Premium exclusif

+100h de formations exclusives
+180 exercices de code avancés
+100h de mentorats en réécriture
20 projets guidés pas à pas
Mentorats groupés hebdomadaires
Support individuel avec nos mentors

Prêt à passer au niveau supérieur ?

Découvrez tous les avantages Premium et transformez votre apprentissage dès aujourd'hui!

Inscris-toi

(c'est gratuit !)

Un compte est nécessaire pour participer aux discussions.

Créer un compte

Toutes les questions

Fab

15 août 2024

Résolue
2 réponses

Erreur 405 lors de la déconnexion dans Django

Plus un commentaire à partager, qu'une qestion : Pour la version django : 5.0.7 Pour la partie "Connexion et déconnexion avec les classes", j'ai rencontré cette erreur 405 avec le /logout. "when I try to logout using http://127.0.0.1:8000/accounts/logout/ it shows http error 405 and not deleting the sessionid" La raison est la suivante : (sur stackoverflow) "In Django, logging out requires a POST request for security reasons, to prevent CSRF attacks. If you try to log out using a direct URL, which sends a GET request, Django will reject it and show a "405 Method Not Allowed" error. To fix it, create a logout form that sends a POST request. This can be a simple form with just a logout button. Place this form where you want the logout functionality in your templates, like in a header or sidebar. If you want you can create a separate html file and include the template where necessary." Pour s'adapter et faire simple par rapport à la vidéo, il faut créer une page template html dédiée (exemple: profile.html) qui nous sera redirigé vers le lien ".../accounts/profile" après s'être authentifié sur compte/login. Sur la vue de ton projet, il faut remplacer HttpResponse par render pour pouvoir afficher la page profile.html. (Mon fichier profile.html a été créé sous le répertoire template/registration.) Dans la vue (view.py) ```python def profile(request): return render(request,'registration/profile.html') ``` Dans le fichier profile.html (template/registration/) mettre à minima dans le body ``` {% csrf_token %} Déconnexion ``` Lors de votre connexion, vous aurez un bouton Déconnexion. Lorsque tu cliqueras sur déconnexion, cela s'effectuera comme sur la déconnexion présenté par Thibauld. (page de déconnexion standard Django)

Ce n'est pas fini...

Tu as complété % du parcours 🔥

Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.

Rechercher sur le site

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.