0Pricing
Flask Academy · Lektion

User Loader und UserMixin

Konfigurieren Sie den LoginManager und das Benutzermodell.

User Loader und UserMixin ist eine kostenlose Flask Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Flask Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Flask Academy-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Meet Flask-Login

The Flask-Login extension manages who is logged in for you. It tracks the current user across requests so you do not wire sessions by hand.

pip install flask-login

Create a LoginManager

Everything starts with a LoginManager. You create one instance and connect it to your app so Flask-Login can hook into requests.

from flask_login import LoginManager
login_manager = LoginManager()
login_manager.init_app(app)

It Needs Two Things

To work, the manager needs a user model that follows its rules and a function that loads a user by id. Today you set up both.

The UserMixin Shortcut

Your model must expose a few properties like is_authenticated. The UserMixin class supplies them all, so you just inherit from it.

from flask_login import UserMixin
class User(UserMixin, db.Model):
    id = db.Column(db.Integer, primary_key=True)

What UserMixin Gives You

UserMixin adds is_authenticated, is_active, is_anonymous, and get_id for free. That last one returns your user id as a string.

The user_loader Callback

Flask-Login stores only the user id in the session. It calls your user_loader on each request to turn that id back into a real user.

Register the Loader

Decorate a function with login_manager.user_loader. It receives the id from the session and must return a user object or None.

@login_manager.user_loader
def load_user(user_id):
    return User.query.get(int(user_id))

Ids Arrive as Strings

The id passed to your loader is always a string, since it came from a cookie. Cast it to int before querying an integer primary key.

return User.query.get(int(user_id))

Return None for Unknowns

If the id matches no row, your loader should return None. Flask-Login then treats the request as coming from an anonymous visitor.

Override get_id If Needed

If your primary key is not named id, override get_id so it returns the right value. Most apps with a plain id column never touch it.

def get_id(self):
    return str(self.uuid)

Pieces Now Connected

With the manager, the UserMixin model, and a user_loader in place, Flask-Login can identify the current user on every incoming request.

Quick Check

Think about what the session actually stores between requests.

Recap

You wired a LoginManager, mixed UserMixin into your model, and wrote a user_loader. Flask-Login can now rebuild the current user from a session. 👤

Häufig gestellte Fragen

Ist die Lektion „User Loader und UserMixin“ kostenlos?

Ja — der vollständige Text von „User Loader und UserMixin“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Flask Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Flask Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „User Loader und UserMixin“?

Konfigurieren Sie den LoginManager und das Benutzermodell. Du übst Flask Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Flask Academy zu starten?

Keine Vorkenntnisse erforderlich. Flask Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „User Loader und UserMixin“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Flask Academy-Lektion Code schreiben und ausführen?

Ja. Jede Flask Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Passwörter hashen, niemals im Klartext speichern
  2. User Loader und UserMixin
  3. login_user, logout_user und Sessions
  4. Views mit login_required schützen
← Zurück zu Flask Academy