Authentification Utilisateur En Django

1 - UserCreationForm

Le framework Django fournit un formulaire d'authentification grâce à une classe nommé UserCreationForm (qui hérite de la classe ModelForm) pour gérer la création de nouveaux utilisateurs. Il comporte trois champs à savoir nom d'utilisateur, mot de passe1 et mot de passe2 (pour la confirmation du mot de passe). Pour utiliser UserCreationForm, vous devez d'abord l'importer depuis django.contrib.auth.forms comme suit:

2 - Création d'une application users

Avant de commencer, nous devons:

  1. Créer un projet django, appelons le mysite à titre d'exemple
  2. Créer une application, nommons là users
  3. Créer une zone admin (superuser)
  4. Enregistrer l'application users au niveau du fichier settings.py
  5. Créer un nouveau répertoire template/registration au sein duquel 3 fichiers: home.html, registrationSuccessful.html, signup.html

Aperçu du projet

Mettre à jours le fichier settings.py

Dans settings.py, nous ajouterons l'application utilisateurs et utiliserons la configuration AUTH_USER_MODEL pour indiquer à Django d'utiliser notre nouveau modèle utilisateur personnalisé à la place du modèle utilisateur intégré. Nous appellerons notre modèle d'utilisateur personnalisé CustomUser.

Dans INSTALLED_APPS, ajoutez 'users.apps.UsersConfig'. Ensuite, en bas du fichier , ajoutez la configuration AUTH_USER_MODEL.

3 - Création du formulaire d'enregistrement via la classe UserCreationForm

Créons maintenant un fichier users/forms.py et insérons au sein duquel le code suivant:

4 - Création du view de l'application

Nous créons ensuite le view de l'application qui comporte:

  1. une méthode pour l'affichage de la page d'acceuil des utilisateurs
  2. une méthode pour la redirction après enregistrement
  3. une méthode pour le formulaire d'enregistrement des utilisateurs

5 - Configuration des urls

Nous devons maintenant configurer les urls et leurs chemins d'accès au niveau du fichier mysite/urls:

6 - Les fichiers du template

6.1 Le fichier home.html

6.2 Le fichier signup.html

6.3 Le fichier de redirection registrationSuccessful.html

Et finalement en démarrant le serveur et en tapant l'adresse url: http://127.0.0.1:8000/signup/ , on obtient la vue suivante:

7 - Amélioration du design du formulaire d'authentification Django à l'aide du framework Bootstrap

Vous avez sans doute remarqué que le formulaire d'enregistrement est n'est pas très agréable! Que faut il faire pour améliorer son look ? Et bien le problème est simple, il suffit pour cela d'utiliser le template starter du framework bootstrap!
Commencez alors par installer le module suivant sur votre virtuel environnement à l'aide de l'utilitaire pip:

et enregistrez ensuite l'application au niveau du fichier settings.py:

Ajoutez ensuite la ligne de code suivante à la fin du fichier settings.py

Intégrez ensuite le framework bootstrap starter en ajoutant le code suivant à votre fichier signup.html ou votre fichier de base de template si vous utilisez l'héritage de template:

Le code peut être télécharger via cette adresse

Ensuite à la tête de votre code, ajoutez la ligne :

remplacez ensuite:

par:

et placez le code du formulaire dans une table html pour limiter les dimensions. Voici le code finale du fichier signup.html:

Voici l'aspet final du formulaire:

 

Younes Derfoufi
CRMEF OUJDA

Leave a Reply