13.9. Création d'un projet Django : authentification des utilisateurs

Página 67

L'authentification des utilisateurs est un aspect crucial pour toute application Web qui souhaite protéger certaines ressources et autoriser l'accès uniquement aux utilisateurs autorisés. Dans Django, l'authentification des utilisateurs est facilitée par sa bibliothèque d'authentification intégrée. Dans cette section, nous explorerons comment créer un projet Django incluant l'authentification des utilisateurs.

Pour commencer, nous devons d'abord installer Django. Cela peut être fait en utilisant pip, le programme d'installation du package Python. Dans le terminal, exécutez simplement la commande 'pip install django'. Une fois installé, nous pouvons créer un nouveau projet Django en exécutant 'django-admin startproject myproject'.

Une fois le projet créé, nous devons créer une nouvelle application pour gérer l'authentification des utilisateurs. Cela peut être fait en exécutant « python manage.py startapp identifier » à la racine du projet. Cela créera un nouveau dossier appelé « authentification » avec plusieurs fichiers qui seront utilisés pour configurer l'application de l'authentification.

Ensuite, nous devons ajouter la nouvelle application à la liste des INSTALLED_APPS dans settings.py. Cela permettra à Django de reconnaître l'application d'authentification et d'inclure ses fonctionnalités dans le projet. La liste INSTALLED_APPS devrait désormais inclure « authentification ».

Ensuite, nous devons configurer l'authentification des utilisateurs. Django est livré avec un système d'authentification intégré que nous pouvons utiliser. Pour cela, nous devons ajouter la ligne suivante au fichier settings.py : 'AUTH_USER_MODEL = 'authentication.User'.

Cela indique à Django d'utiliser le modèle utilisateur défini dans l'application d'authentification pour toutes les opérations d'authentification. Nous devons maintenant créer ce modèle utilisateur. Dans models.py dans l'application d'authentification, ajoutez le code suivant :

à partir de django.contrib.auth.models importer AbstractUser Utilisateur de classe (AbstractUser) : passer

Cela crée un modèle utilisateur qui hérite de AbstractUser, un modèle utilisateur de base qui inclut des champs tels que le nom d'utilisateur, le mot de passe, l'e-mail, le prénom, le nom, etc. Nous pouvons ajouter des champs supplémentaires si nécessaire, mais pour cet exemple, gardons les choses simples.

Maintenant, nous devons créer les vues pour gérer la connexion et la déconnexion. Dans vues.py dans l'application d'authentification, ajoutez le code suivant :

depuis django.contrib.auth importer authentifier, se connecter, se déconnecter depuis django.http importer HttpResponse depuis django.shortcuts importer le rendu, rediriger def login_view (demande) : si request.method == 'POST' : nom d'utilisateur = request.POST['nom d'utilisateur'] mot de passe = request.POST['mot de passe'] utilisateur = authentifier (demande, nom d'utilisateur = nom d'utilisateur, mot de passe = mot de passe) si l'utilisateur n'est pas Aucun : connexion (demande, utilisateur) redirection de retour ('home') autre: return HttpResponse('Identifiants invalides') autre: return render(requête, 'authentification/login.html') def logout_view (demande) : déconnexion (demande) redirection de retour ('connexion')

Ces vues gèrent respectivement la connexion et la déconnexion. La vue de connexion vérifie si la méthode de requête est POST. Si tel est le cas, il tente d'authentifier l'utilisateur avec le nom d'utilisateur et le mot de passe fournis. Si l'authentification réussit, l'utilisateur est connecté et redirigé vers la page d'accueil. Si l'authentification échoue, une réponse HTTP avec le message « Informations d'identification invalides » est renvoyée. Si la méthode de requête n'est pas POST, la page de connexion est rendue.

La vue de déconnexion déconnecte simplement l'utilisateur et le redirige vers la page de connexion.

Maintenant, nous devons créer les modèles de connexion. Créez un nouveau dossier appelé « modèles » dans le dossier de l'application d'authentification et, à l'intérieur, créez un nouveau dossier appelé « authentification ». Dans ce dossier, créez un nouveau fichier appelé 'login.html' et ajoutez le code suivant :

{% étend 'base_generic.html' %} {% bloquer le contenu %}

Connexion

{% csrf_token %} Nom d'utilisateur :
Mot de passe :
{% bloc de fin %}

Il s'agit d'un modèle de connexion simple qui étend le modèle base_generic.html et remplace le bloc de contenu par un formulaire de connexion.

Enfin, nous devons ajouter les URL pour les vues de connexion et de déconnexion. Dans urls.py dans l'application d'authentification, ajoutez le code suivant :

à partir du chemin d'importation de Django.urls depuis . importer des vues modèles d'URL = [ chemin('login/', vues.login_view, nom='login'), chemin('logout/', vues.logout_view, nom='logout'), ]

Cela ajoute respectivement les URL des vues de connexion et de déconnexion. Maintenant, si nous exécutons le serveur de développement Django avec « python manage.py runserver » et naviguons vers « http://localhost:8000/login », nous devrions voir la page de connexion et pouvoir nous connecter avec un utilisateur existant.

En bref, l'authentification des utilisateursos est une partie importante de toute application Web, et Django facilite la mise en œuvre de cette fonctionnalité. Avec le système d'authentification intégré de Django, nous pouvons facilement sécuriser les ressources et autoriser l'accès uniquement aux utilisateurs autorisés.

Répondez maintenant à l’exercice sur le contenu :

Quel est le processus de configuration de l’authentification des utilisateurs dans un projet Django ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Page suivante de lebook gratuit :

6813.10. Création d'un projet Django : autorisation et permissions

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte