Heim Backend-Entwicklung Python-Tutorial So verwenden Sie Flask-Login zur Implementierung der Benutzeranmeldung und Sitzungsverwaltung

So verwenden Sie Flask-Login zur Implementierung der Benutzeranmeldung und Sitzungsverwaltung

Aug 02, 2023 pm 05:57 PM
flask 会话管理 login

So verwenden Sie Flask-Login zur Implementierung der Benutzeranmeldung und Sitzungsverwaltung

Einführung:
Flask-Login ist ein Benutzerauthentifizierungs-Plug-in für das Flask-Framework, mit dem wir Benutzeranmeldungs- und Sitzungsverwaltungsfunktionen einfach implementieren können. In diesem Artikel wird die Verwendung von Flask-Login für die Benutzeranmeldung und Sitzungsverwaltung vorgestellt und entsprechende Codebeispiele bereitgestellt.

1. Vorbereitung
Bevor wir Flask-Login verwenden, müssen wir es im Flask-Projekt installieren. Sie können pip verwenden, um es mit dem folgenden Befehl zu installieren:

pip install Flask-Login
Nach dem Login kopieren

2. Erstellen Sie eine Flask-Anwendung und konfigurieren Sie sie
Zuerst müssen wir eine Flask-Anwendung erstellen und entsprechend konfigurieren. Schreiben Sie den folgenden Code in app.py:

from flask import Flask
from flask_login import LoginManager

app = Flask(__name__)
# 配置SECRET_KEY,用于加密会话数据
app.config['SECRET_KEY'] = 'your-secret-key'

login_manager = LoginManager(app)
Nach dem Login kopieren

Unter anderem wird LoginManager zum Verwalten von Anmeldungen und Sitzungen verwendet. SECRET_KEY wird über app.config['SECRET_KEY'] konfiguriert, um Sitzungsdaten zu verschlüsseln, bei denen es sich um eine zufällige Zeichenfolge handeln kann.

3. Erstellen Sie ein Benutzermodell
Als nächstes müssen wir ein Benutzermodell erstellen, um Benutzerinformationen wie Benutzername, Passwort usw. zu speichern. Schreiben Sie den folgenden Code in app.py:

from flask_login import UserMixin

class User(UserMixin):
    def __init__(self, id):
        self.id = id
        self.username = None
        self.password = None
    
    def get_id(self):
        return str(self.id)
Nach dem Login kopieren

Hier vereinfachen wir die Implementierung des Benutzermodells, indem wir die Klasse UserMixin erben, und implementieren die Methode get_id, um die eindeutige Kennung des Benutzers zurückzugeben.

4. Schreiben Sie die Anmeldeansicht
Als nächstes müssen wir eine Anmeldeansicht schreiben, um die Anmeldeanfrage des Benutzers zu bearbeiten. Schreiben Sie den folgenden Code in app.py:

from flask import request, redirect, url_for, render_template
from flask_login import login_user

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        username = request.form.get('username')
        password = request.form.get('password')
        
        # 验证用户名和密码
        user = User(1)  # 根据用户名和密码查询数据库获取用户对象
        if user.username == username and user.password == password:
            login_user(user)  # 登录用户
            return redirect(url_for('index'))
        
        return render_template('login.html', error='用户名或密码错误')
    
    return render_template('login.html')
Nach dem Login kopieren

Hier wird request.form.get verwendet, um den Benutzernamen und das Kennwort in der Benutzeranforderung abzurufen und anschließend zu überprüfen, ob Benutzername und Kennwort entsprechend der tatsächlichen Situation korrekt sind. Wenn dies korrekt ist, rufen Sie die Funktion login_user auf, um sich beim Benutzer anzumelden, und wiederholen Sie den Vorgang „Zur Startseite weitergeleitet“.

5. Schreiben Sie Code für die Sitzungsverwaltung. Im obigen Code verwenden wir die Funktion login_user von Flask-Login, um die Benutzeranmeldung zu implementieren. Als nächstes müssen wir auch Code schreiben, um Funktionen im Zusammenhang mit der Sitzungsverwaltung zu implementieren.

  1. Rückruffunktion für erfolgreichen Login

    from flask_login import login_user, login_required, logout_user, current_user
    
    @login_manager.user_loader
    def load_user(user_id):
     return User(int(user_id))
    Nach dem Login kopieren

    @login_manager.user_loader Decorator wird von Flask-Login zum Laden von Benutzerobjekten verwendet. In dieser Ladefunktion geben wir das Benutzerobjekt basierend auf der eindeutigen Kennung des Benutzers zurück.

  2. Geschützte Ansichtsfunktion

    @app.route('/')
    @login_required
    def index():
     return 'Hello, {}!'.format(current_user.username)
    Nach dem Login kopieren

    Der Modifikator @login_required schützt die Indexansichtsfunktion und nur angemeldete Benutzer können auf diese Ansicht zugreifen.

  3. Abmeldeansicht

    @app.route('/logout')
    @login_required
    def logout():
     logout_user()  # 登出用户
     return redirect(url_for('login'))
    Nach dem Login kopieren

    Benutzer melden den aktuell angemeldeten Benutzer ab, indem sie auf den /logout-Pfad zugreifen.

6. Erstellen Sie eine Anmeldeseite

Abschließend müssen wir eine Anmeldeseite erstellen, die Datei login.html im Vorlagenverzeichnis erstellen und den folgenden Code schreiben:

{% if error %}
<p style="color: red;">{{ error }}</p>
{% endif %}
<form method="post" action="{{ url_for('login') }}">
    <input type="text" name="username" placeholder="用户名" required>
    <input type="password" name="password" placeholder="密码" required>
    <button type="submit">登录</button>
</form>
Nach dem Login kopieren
Auf der Anmeldeseite zeigen wir den Fehler an Nachricht und stellen Sie Eingabefelder für Benutzername und Passwort sowie eine Anmeldeschaltfläche bereit.

7. Führen Sie die Anwendung aus

Zu diesem Zeitpunkt haben wir den gesamten Code für die Benutzeranmeldung und Sitzungsverwaltung mit Flask-Login fertiggestellt. Führen Sie die Anwendung aus und greifen Sie auf den Pfad /login zu, um die Anmeldeseite für die Benutzeranmeldung aufzurufen.

Zusammenfassung:

In diesem Artikel wird die Verwendung von Flask-Login zur Implementierung der Benutzeranmeldung und Sitzungsverwaltung vorgestellt und entsprechende Codebeispiele bereitgestellt. Mit Flask-Login lassen sich Benutzeranmeldungen und Sitzungen einfach verwalten und so die Anwendungssicherheit und das Benutzererlebnis verbessern. Ich hoffe, dieser Artikel hilft Ihnen beim Erlernen von Flask-Login.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Flask-Login zur Implementierung der Benutzeranmeldung und Sitzungsverwaltung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So erstellen Sie einfache und benutzerfreundliche Webanwendungen mit React und Flask So erstellen Sie einfache und benutzerfreundliche Webanwendungen mit React und Flask Sep 27, 2023 am 11:09 AM

So erstellen Sie mit React und Flask einfache und benutzerfreundliche Webanwendungen. Einführung: Mit der Entwicklung des Internets werden die Anforderungen an Webanwendungen immer vielfältiger und komplexer. Um den Anforderungen der Benutzer an Benutzerfreundlichkeit und Leistung gerecht zu werden, wird es immer wichtiger, moderne Technologie-Stacks zum Aufbau von Netzwerkanwendungen zu verwenden. React und Flask sind zwei sehr beliebte Frameworks für die Front-End- und Back-End-Entwicklung, und sie arbeiten gut zusammen, um einfache und benutzerfreundliche Webanwendungen zu erstellen. In diesem Artikel erfahren Sie, wie Sie React und Flask nutzen

Beginnen Sie bei Null und führen Sie Schritt für Schritt durch die Installation von Flask und die schnelle Einrichtung eines persönlichen Blogs Beginnen Sie bei Null und führen Sie Schritt für Schritt durch die Installation von Flask und die schnelle Einrichtung eines persönlichen Blogs Feb 19, 2024 pm 04:01 PM

Von Grund auf werde ich Ihnen Schritt für Schritt beibringen, wie Sie Flask installieren und schnell einen persönlichen Blog erstellen. Als Person, die gerne schreibt, ist es sehr wichtig, einen persönlichen Blog zu haben. Als leichtes Python-Web-Framework kann Flask uns dabei helfen, schnell ein einfaches und voll funktionsfähiges persönliches Blog zu erstellen. In diesem Artikel fange ich bei Null an und zeige Ihnen Schritt für Schritt, wie Sie Flask installieren und schnell einen persönlichen Blog erstellen. Schritt 1: Python und pip installieren Bevor wir beginnen, müssen wir zuerst Python und pi installieren

Django vs. Flask: Eine vergleichende Analyse von Python-Web-Frameworks Django vs. Flask: Eine vergleichende Analyse von Python-Web-Frameworks Jan 19, 2024 am 08:36 AM

Django und Flask sind beide führend bei Python-Web-Frameworks und haben beide ihre eigenen Vorteile und anwendbaren Szenarien. In diesem Artikel wird eine vergleichende Analyse dieser beiden Frameworks durchgeführt und spezifische Codebeispiele bereitgestellt. Entwicklungseinführung Django ist ein Web-Framework mit vollem Funktionsumfang, dessen Hauptzweck darin besteht, schnell komplexe Webanwendungen zu entwickeln. Django bietet viele integrierte Funktionen wie ORM (Object Relational Mapping), Formulare, Authentifizierung, Verwaltungs-Backend usw. Diese Funktionen ermöglichen es Django, große Mengen zu verarbeiten

Anleitung zur Installation des Flask-Frameworks: Detaillierte Schritte, die Ihnen bei der korrekten Installation von Flask helfen Anleitung zur Installation des Flask-Frameworks: Detaillierte Schritte, die Ihnen bei der korrekten Installation von Flask helfen Feb 18, 2024 pm 10:51 PM

Tutorial zur Installation des Flask-Frameworks: Bringen Sie Ihnen Schritt für Schritt bei, wie Sie das Flask-Framework korrekt installieren. Einführung: Flask ist ein einfaches und flexibles Python-Webentwicklungs-Framework. Es ist leicht zu erlernen, benutzerfreundlich und voller leistungsstarker Funktionen. Dieser Artikel führt Sie Schritt für Schritt durch die korrekte Installation des Flask-Frameworks und stellt detaillierte Codebeispiele als Referenz bereit. Schritt 1: Python installieren Bevor Sie das Flask-Framework installieren, müssen Sie zunächst sicherstellen, dass Python auf Ihrem Computer installiert ist. Sie können bei P beginnen

Flask vs. FastAPI: Die beste Wahl für eine effiziente Web-API-Entwicklung Flask vs. FastAPI: Die beste Wahl für eine effiziente Web-API-Entwicklung Sep 27, 2023 pm 09:01 PM

FlaskvsFastAPI: Die beste Wahl für eine effiziente Entwicklung von WebAPI Einführung: In der modernen Softwareentwicklung ist WebAPI zu einem unverzichtbaren Bestandteil geworden. Sie stellen Daten und Dienste bereit, die die Kommunikation und Interoperabilität zwischen verschiedenen Anwendungen ermöglichen. Bei der Auswahl eines Frameworks für die Entwicklung von WebAPI haben Flask und FastAPI große Aufmerksamkeit erregt. Beide Frameworks erfreuen sich großer Beliebtheit und jedes hat seine eigenen Vorteile. In diesem Artikel werden wir uns Fl ansehen

Vergleich der Leistung von Gunicorn und uWSGI für die Bereitstellung von Flask-Anwendungen Vergleich der Leistung von Gunicorn und uWSGI für die Bereitstellung von Flask-Anwendungen Jan 17, 2024 am 08:52 AM

Flask-Anwendungsbereitstellung: Vergleich von Gunicorn und suWSGI Einführung: Flask ist als leichtes Python-Web-Framework bei vielen Entwicklern beliebt. Bei der Bereitstellung einer Flask-Anwendung in einer Produktionsumgebung ist die Auswahl der geeigneten Server Gateway Interface (SGI) eine entscheidende Entscheidung. Gunicorn und uWSGI sind zwei gängige SGI-Server. In diesem Artikel werden sie ausführlich beschrieben.

Flask-Installations- und Konfigurations-Tutorial: ein Tool zum einfachen Erstellen von Python-Webanwendungen Flask-Installations- und Konfigurations-Tutorial: ein Tool zum einfachen Erstellen von Python-Webanwendungen Feb 20, 2024 pm 11:12 PM

Tutorial zur Installation und Konfiguration von Flask: Ein Tool zum einfachen Erstellen von Python-Webanwendungen. Es sind spezifische Codebeispiele erforderlich. Einführung: Mit der zunehmenden Beliebtheit von Python ist die Webentwicklung zu einer der notwendigen Fähigkeiten für Python-Programmierer geworden. Um eine Webentwicklung in Python durchzuführen, müssen wir ein geeignetes Webframework auswählen. Unter den vielen Python-Web-Frameworks ist Flask ein einfaches, benutzerfreundliches und flexibles Framework, das von Entwicklern bevorzugt wird. In diesem Artikel wird die Installation des Flask-Frameworks vorgestellt.

Ein tiefer Einblick in die Template-Engine von Django und Jinja2 von Flask Ein tiefer Einblick in die Template-Engine von Django und Jinja2 von Flask Sep 28, 2023 am 11:39 AM

Für ein tieferes Verständnis der Template-Engine von Django und von Flasks Jinja2 sind spezifische Codebeispiele erforderlich. Einführung: Django und Flask sind zwei häufig verwendete und beliebte Web-Frameworks in Python. Beide bieten leistungsstarke Template-Engines für die Darstellung dynamischer Webseiten. Django verwendet eine eigene Template-Engine, während Flask Jinja2 verwendet. In diesem Artikel werfen wir einen detaillierten Blick auf die Template-Engine von Django und Jinja2 von Flask und stellen einige konkrete Codebeispiele zur Veranschaulichung ihrer Verwendung bereit.

See all articles