Menu
CoddyTech

Se connecter

Fait partie de la section Utilisateurs et comptes du Journey Django de Coddy. Leçon 2 sur 16.

Le site peut savoir qui est connecté, mais il n’a aucune page pour se connecter. Django fournit la vue LoginView. Une ligne dans le urls.py du projet l’ajoute, ainsi que les pages de déconnexion et de mot de passe :

path("accounts/", include("django.contrib.auth.urls")),

Maintenant, /accounts/login/ existe et porte le nom login. La vue affiche registration/login.html avec un form qui comporte un champ username et un champ password. C’est à toi d’écrire ce modèle : un formulaire POST ordinaire. Django cherche dans le dossier templates/ de chaque application. Le chemin commence par registration/, et non par notes/, car la vue de Django ne connaît pas ton application.

Après une connexion réussie, la vue redirige vers LOGIN_REDIRECT_URL. Sa valeur par défaut, /accounts/profile/, n’existe pas ici ; il faut donc la définir dans settings.py.

challenge icon

Défi

Facile

Ajoute une page de connexion.

  1. Dans mysite/urls.py, inclus django.contrib.auth.urls sous accounts/.
  2. Crée notes/templates/registration/login.html en étendant notes/base.html, qui affiche form dans un formulaire POST avec {% csrf_token %} et un bouton Log in.
  3. Dans settings.py, définis LOGIN_REDIRECT_URL sur "/".
  4. Dans base.html, pour les visiteurs déconnectés, crée un lien Log in vers {% url 'login' %}.

Connecte-toi en tant que ada (mot de passe coddy-pass-123) : l’en-tête indique « Connecté en tant que ada ».

Essayez vous-même

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path("admin/", admin.site.urls),
    path("", include("notes.urls")),
]

Toutes les leçons de Utilisateurs et comptes

Entraînez-vous par vous-même : Playground Django