Flask Academy · Leçon

Chargeur d’utilisateurs et UserMixin

Configurez LoginManager et le modèle utilisateur.

Leçon 2 sur 413 étapes

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-login

Cré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. 👤

Gratuit pour commencer

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

  1. Hacher les mots de passe, ne jamais les stocker en clair
  2. Chargeur d’utilisateurs et UserMixin
  3. login_user, logout_user et les sessions
  4. Protéger les vues avec login_required
← Retour à Flask Academy