OUJOOD.COM
Après avoir compris comment fonctionne le système d'authentification, l'étape logique est de permettre à vos visiteurs de s'enregistrer. Django facilite énormément cette tâche grâce à un formulaire intégré nommé UserCreationForm.
Utiliser le formulaire UserCreationForm
Pas besoin de définir chaque champ (nom, mot de passe, confirmation). Django s'en occupe pour vous. Ce formulaire gère même la validation : il vérifie si le nom d'utilisateur existe déjà et si les deux mots de passe saisis sont identiques.
Voici comment configurer une vue simple pour traiter l'inscription :
from django.contrib.auth.forms import UserCreationForm
from django.shortcuts import render, redirect
def inscription(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
form.save() # L'utilisateur est créé en base de données
return redirect('login')
else:
form = UserCreationForm()
return render(request, 'inscription.html', {'form': form})
Affichage dans le template
Côté HTML, c'est très sobre. N'oubliez pas d'inclure la protection contre le vol de session que nous avons vue précédemment. Si vous avez un doute, relisez la page sur la protection CSRF Django.
<h2>Créer un compte</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">S'inscrire</button>
</form>
Aller plus loin
Le formulaire par défaut est pratique mais un peu limité (il ne demande pas l'e-mail par exemple). Je vous conseille, une fois à l'aise, de créer votre propre classe en héritant de UserCreationForm pour ajouter les champs dont vous avez réellement besoin pour votre projet.
Par carabde | Mis à jour le 08/05/2026