Chargeur d’utilisateurs et UserMixin
Configurez LoginManager et le modèle utilisateur.
Chargeur d’utilisateurs et UserMixin est une leçon Flask Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Flask Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Flask Academy comprend 4 leçons au total.
Découvrez Flask-Login
L’extension Flask-Login gère pour vous les utilisateurs connectés. Elle suit l’utilisateur actuel d’une requête à l’autre, sans vous obliger à gérer les sessions manuellement.
pip install flask-loginCréer un LoginManager
Tout commence avec un LoginManager. Vous en créez une instance et la connectez à votre application afin que Flask-Login puisse intercepter les requêtes.
from flask_login import LoginManager
login_manager = LoginManager()
login_manager.init_app(app)Il lui faut deux éléments
Pour fonctionner, le gestionnaire a besoin d’un modèle utilisateur qui respecte ses règles et d’une fonction qui charge un utilisateur à partir de son identifiant. Aujourd’hui, vous allez configurer les deux.
Le raccourci UserMixin
Votre modèle doit exposer quelques propriétés comme is_authenticated. La classe UserMixin les fournit toutes, vous n’avez donc qu’à en hériter.
from flask_login import UserMixin
class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)Ce que vous apporte UserMixin
UserMixin ajoute gratuitement is_authenticated, is_active, is_anonymous et get_id. Ce dernier renvoie l’identifiant de votre utilisateur sous forme de chaîne.
La fonction de rappel user_loader
Flask-Login ne stocke que l’identifiant de l’utilisateur dans la session. À chaque requête, il appelle votre user_loader pour transformer cet identifiant en véritable utilisateur.
Enregistrer le chargeur
Décorez une fonction avec login_manager.user_loader. Elle reçoit l’identifiant provenant de la session et doit renvoyer un objet utilisateur ou None.
@login_manager.user_loader
def load_user(user_id):
return User.query.get(int(user_id))Les identifiants arrivent sous forme de chaînes
L’identifiant transmis à votre chargeur est toujours une chaîne, puisqu’il provient d’un cookie. Convertissez-le en entier avant d’interroger une clé primaire entière.
return User.query.get(int(user_id))Renvoyer None pour les identifiants inconnus
Si l’identifiant ne correspond à aucune ligne, votre chargeur doit renvoyer None. Flask-Login considère alors que la requête provient d’un visiteur anonyme.
Redéfinir get_id si nécessaire
Si votre clé primaire ne s’appelle pas id, redéfinissez get_id afin qu’il renvoie la bonne valeur. La plupart des applications utilisant une simple colonne id n’y touchent jamais.
def get_id(self):
return str(self.uuid)Les éléments sont maintenant connectés
Avec le gestionnaire, le modèle UserMixin et un user_loader en place, Flask-Login peut identifier l’utilisateur actuel à chaque requête entrante.
Vérification rapide
Réfléchissez à ce que la session stocke réellement entre deux requêtes.
Récapitulatif
Vous avez configuré un LoginManager, intégré UserMixin à votre modèle et écrit un user_loader. Flask-Login peut maintenant reconstruire l’utilisateur actuel à partir d’une session. 👤
Apprends Python avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 30
- Leçons
- 120
Questions Fréquemment Posées
La leçon « Chargeur d’utilisateurs et UserMixin » est-elle gratuite ?
Oui — le texte complet de « Chargeur d’utilisateurs et UserMixin » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Flask Academy, passe à CoddyKit PRO. Le cours Flask Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Chargeur d’utilisateurs et UserMixin » ?
Configurez LoginManager et le modèle utilisateur. Tu pratiques Flask Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Flask Academy ?
Aucune expérience préalable n'est requise. Flask Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Chargeur d’utilisateurs et UserMixin » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Flask Academy ?
Oui. Chaque leçon Flask Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Hacher les mots de passe, ne jamais les stocker en clair
- Chargeur d’utilisateurs et UserMixin
- login_user, logout_user et les sessions
- Protéger les vues avec login_required