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.
Défi
FacileAjoute une page de connexion.
- Dans
mysite/urls.py, inclusdjango.contrib.auth.urlssousaccounts/. - Crée
notes/templates/registration/login.htmlen étendantnotes/base.html, qui afficheformdans un formulaire POST avec{% csrf_token %}et un boutonLog in. - Dans
settings.py, définisLOGIN_REDIRECT_URLsur"/". - Dans
base.html, pour les visiteurs déconnectés, crée un lienLog invers{% 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
1Qui visite le site
Qui visite le siteSe connecterEntraînez-vous par vous-même : Playground Django