


Python-Serverprogrammierung: Verwendung von Flask-Login zur Implementierung der Benutzeranmeldung
Python-Serverprogrammierung: Verwenden Sie Flask-Login, um die Benutzeranmeldung zu implementieren
Mit der Entwicklung und Beliebtheit von Webanwendungen ist die Benutzeranmeldung für viele Anwendungen zu einer wesentlichen Funktion geworden. In der Python-Serverprogrammierung ist Flask ein weit verbreitetes Webentwicklungs-Framework. Darüber hinaus bietet Flask auch viele Erweiterungen von Drittanbietern wie Flask-Login, mit denen wir Benutzeranmeldefunktionen schnell implementieren können.
In diesem Artikel wird erläutert, wie Sie die Flask-Login-Erweiterung verwenden, um die Benutzeranmeldefunktion auf dem Python-Server zu implementieren. Zuvor müssen wir Flask und die Flask-Login-Erweiterung installieren. Zur Installation können Sie den Befehl pip verwenden:
pip install Flask Flask-Login
Beginnen wir nun mit der Implementierung unseres Benutzeranmeldesystems.
- Erstellen einer Flask-Anwendung
Zuerst müssen wir eine Flask-Anwendung erstellen. Erstellen Sie eine app.py-Datei im Stammverzeichnis und schreiben Sie den folgenden Code hinein:
from flask import Flask app = Flask(__name__) @app.route("/") def index(): return "Hello World!" if __name__ == "__main__": app.run(debug=True)
In diesem Beispiel haben wir eine Flask-Anwendung erstellt und eine Route definiert, und die Stammroute gibt „Hello World!“ zurück. Wir verwenden außerdem eine bedingte Anweisung __name__ == "__main__"
, um sicherzustellen, dass die Flask-Anwendung nur ausgeführt wird, wenn wir das Skript ausführen. __name__ == "__main__"
条件语句来确保只有在我们运行脚本时才运行Flask应用程序。
现在,我们已经成功创建了一个简单的Flask应用程序。
2.创建用户模型
在本示例中,我们假设用户的用户名和密码已经保存到数据库中。因此,我们需要先定义用户模型,以便在登录时检查用户是否存在。
在app.py文件中添加以下代码:
from flask_login import UserMixin class User(UserMixin): def __init__(self, id): super().__init__() self.id = id def __repr__(self): return f"<User {self.id}>"
在这个示例中,我们定义了一个User类,它继承自Flask-Login的UserMixin
类。UserMixin
提供了一些有用的属性和方法,包括:
is_authenticated
:如果用户已经通过验证,则为True。is_active
:如果用户处于活动状态,则为True。is_anonymous
:如果用户未经身份验证,则为True。get_id
:返回用户ID的字符串表示形式。
在User类的构造函数中,我们传入了用户的ID。我们还定义了一个__repr__
方法,以便在调试和测试期间查看有关用户对象的更多信息。
- 编写登录视图
现在,我们需要编写一个登录视图,让用户输入他们的用户名和密码。如果用户的用户名和密码正确,则登录成功,并将用户对象添加到Flask-Login的用户会话中。
在app.py文件中添加以下代码:
from flask_login import LoginManager, login_user, current_user login_manager = LoginManager() login_manager.init_app(app) @login_manager.user_loader def load_user(user_id): return User(user_id) @app.route("/login") def login(): user_id = request.args.get("user_id") password = request.args.get("password") if user_id and password: # 省略查询数据库的代码 user = User(user_id) login_user(user) return "Login success!" else: return "Login failed!" @app.route("/logout") def logout(): logout_user() return "Logout success!"
在这个示例中,我们首先创建了一个LoginManager
对象。然后,我们定义了一个user_loader
回调函数,该函数将用户ID作为参数,并返回与该ID对应的用户对象。在本示例中,我们创建了一个新的User
对象,并将该ID作为参数传递。
接下来,我们定义了一个登录视图。在视图函数中,我们使用request.args.get
方法从查询字符串中获取用户ID和密码。然后,我们检查用户ID和密码是否有效。如果用户的用户名和密码正确,则创建一个新的User
对象,并使用login_user
函数将该对象添加到Flask-Login的用户会话中。如果用户的用户名和密码不正确,则该用户无法登录。
最后,我们定义了一个注销视图,它使用logout_user
函数从Flask-Login的用户会话中删除当前用户对象,并返回消息表示注销成功。
- 保护其他视图
现在,我们已经实现了用户登录系统,但我们未使用它来保护其他视图。在本示例中,我们将保护一个称为“profile”的页面,该页面只有在用户登录后才可以访问。如果用户未登录,则将重定向到登录页面。
在app.py文件中添加以下代码:
from flask_login import login_required @app.route("/profile") @login_required def profile(): return f"Welcome, {current_user.id}!"
在这个示例中,我们使用login_required
装饰器来保护“profile”路由。如果用户未登录,则该装饰器将重定向到登录页面。
在保护视图时,我们还使用current_user
- 2. Benutzermodell erstellen
python app.py
UserMixin
-Klasse von Flask-Login erbt. UserMixin
bietet einige nützliche Eigenschaften und Methoden, darunter: is_authenticated
: True, wenn der Benutzer authentifiziert wurde. is_active
: True, wenn der Benutzer aktiv ist. is_anonymous
: True, wenn der Benutzer nicht authentifiziert ist. get_id
: Gibt die Zeichenfolgendarstellung der Benutzer-ID zurück. 🎜__repr__
-Methode, um beim Debuggen und Testen weitere Informationen über das Benutzerobjekt anzuzeigen. 🎜- 🎜Anmeldeansicht schreiben🎜🎜🎜Jetzt müssen wir eine Anmeldeansicht schreiben, die es dem Benutzer ermöglicht, seinen Benutzernamen und sein Passwort einzugeben. Wenn der Benutzername und das Passwort des Benutzers korrekt sind, ist die Anmeldung erfolgreich und das Benutzerobjekt wird zur Benutzersitzung von Flask-Login hinzugefügt. 🎜🎜Fügen Sie den folgenden Code in die app.py-Datei ein: 🎜
http://localhost:5000/
LoginManager
-Objekt. Anschließend definieren wir eine user_loader
-Rückruffunktion, die die Benutzer-ID als Parameter verwendet und das dieser ID entsprechende Benutzerobjekt zurückgibt. In diesem Beispiel erstellen wir ein neues User
-Objekt und übergeben die ID als Parameter. 🎜🎜Als nächstes definieren wir eine Login-Ansicht. In der Ansichtsfunktion verwenden wir die Methode request.args.get
, um die Benutzer-ID und das Passwort aus der Abfragezeichenfolge abzurufen. Anschließend prüfen wir, ob Benutzer-ID und Passwort gültig sind. Wenn der Benutzername und das Passwort des Benutzers korrekt sind, erstellen Sie ein neues Benutzer
-Objekt und fügen Sie das Objekt mithilfe der Funktion login_user
zur Benutzersitzung von Flask-Login hinzu. Wenn der Benutzername und das Passwort eines Benutzers falsch sind, kann sich der Benutzer nicht anmelden. 🎜🎜Schließlich definieren wir eine Abmeldeansicht, die die Funktion logout_user
verwendet, um das aktuelle Benutzerobjekt aus der Benutzersitzung von Flask-Login zu löschen und eine Meldung über die erfolgreiche Abmeldung zurückgibt. 🎜- 🎜Andere Ansichten schützen🎜🎜🎜Jetzt haben wir das Benutzeranmeldesystem implementiert, verwenden es jedoch nicht zum Schutz anderer Ansichten. In diesem Beispiel schützen wir eine Seite namens „Profil“, auf die nur zugegriffen werden kann, wenn der Benutzer angemeldet ist. Wenn der Benutzer nicht angemeldet ist, wird er zur Anmeldeseite weitergeleitet. 🎜🎜Fügen Sie den folgenden Code in die app.py-Datei ein: 🎜
http://localhost:5000/profile
login_required
, um die Route „Profil“ zu schützen. Wenn der Benutzer nicht angemeldet ist, leitet dieser Dekorateur zur Anmeldeseite weiter. 🎜🎜Beim Schutz der Ansicht verwenden wir auch die globale Variable current_user
, um auf die Informationen des aktuell angemeldeten Benutzers zuzugreifen. In diesem Beispiel fügen wir eine einfache Willkommensnachricht hinzu, die die ID des aktuell angemeldeten Benutzers enthält. 🎜🎜🎜Führen Sie die Anwendung aus🎜🎜🎜Jetzt haben wir die gesamte Implementierung des Benutzeranmeldesystems abgeschlossen. Lassen Sie uns die Anwendung ausführen und testen. 🎜🎜Geben Sie den folgenden Befehl in das Terminal ein, um die Anwendung zu starten: 🎜http://localhost:5000/login?user_id=1&password=password123
http://localhost:5000/logout
如果你在浏览器中访问以下URL,则可以注销当前会话:
http://localhost:5000/logout
这样就完成了用户登录系统的所有实现。
总结
在本文中,我们介绍了如何使用Flask-Login扩展在Python服务器中实现用户登录功能。使用Flask-Login可以方便地验证和保护Web应用程序中的用户数据。此外,Flask-Login提供了许多有用的功能和方法,如会话管理和用户保护。希望这篇文章能够帮助你更好地了解如何使用Flask-Login编写Python服务器应用程序。
Das obige ist der detaillierte Inhalt vonPython-Serverprogrammierung: Verwendung von Flask-Login zur Implementierung der Benutzeranmeldung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Wie lade ich Deepseek Xiaomi herunter? Suchen Sie nach "Deepseek" im Xiaomi App Store. Identifizieren Sie Ihre Anforderungen (Suchdateien, Datenanalyse) und finden Sie die entsprechenden Tools (z. B. Dateimanager, Datenanalyse -Software), die Deepseek -Funktionen enthalten.

Der Schlüssel zur effektiven Verwendung von Deepseek liegt darin, die Fragen klar zu stellen: Die Fragen direkt und spezifisch ausdrücken. Geben Sie spezifische Details und Hintergrundinformationen an. Für komplexe Anfragen sind mehrere Blickwinkel und Widerrufs der Meinungen enthalten. Konzentrieren Sie sich auf bestimmte Aspekte, wie z. B. Leistungs Engpässe im Code. Denken Sie kritisch über die Antworten nach, die Sie erhalten, und fällen Sie anhand Ihres Fachwissens Urteile.

Verwenden Sie einfach die Suchfunktion, die mit Deepseek geliefert wird. Für Suchvorgänge, die unpopulär, neueste Informationen oder Probleme sind, die berücksichtigt werden müssen, müssen jedoch Schlüsselwörter angepasst oder spezifischere Beschreibungen verwendet werden, sie mit anderen Echtzeitinformationsquellen kombinieren und verstehen, dass Deepseek nur ein Tool ist, das erfordert aktive, klare und raffinierte Suchstrategien.

Deepseek ist keine Programmiersprache, sondern ein tiefes Suchkonzept. Die Implementierung von Deepseek erfordert eine Auswahl auf der Grundlage vorhandener Sprachen. Für verschiedene Anwendungsszenarien ist es erforderlich, die entsprechende Sprache und Algorithmen auszuwählen und maschinelles Lernen zu kombinieren. Codequalität, Wartbarkeit und Tests sind von entscheidender Bedeutung. Nur durch die Auswahl der richtigen Programmiersprache können Algorithmen und Tools entsprechend Ihren Anforderungen und das Schreiben von Code von hochwertigem Code erfolgreich implementiert werden.

Frage: Ist Deepseek für die Buchhaltung verfügbar? Antwort: Nein, es handelt sich um ein Data Mining- und Analyse -Tool, mit dem Finanzdaten analysiert werden können, aber es gibt nicht die Funktionen zur Erzeugung von Buchhaltungsdaten für Buchhaltungsdaten für Buchhaltungssoftware. Um Deepseek zur Analyse von Finanzdaten zu analysieren, muss das Schreiben von Code geschrieben werden, um Daten mit Kenntnissen von Datenstrukturen, Algorithmen und Deepseek -APIs zu verarbeiten, um potenzielle Probleme zu berücksichtigen (z. B. Programmierkenntnisse, Lernkurven, Datenqualität)

Detaillierte Erläuterung von Deepseekapi -Zugriff und -anruf: Quick Start Guide In diesem Artikel können Sie ausführlich auf Deepseekapi zugreifen und anrufen und Ihnen helfen, leistungsstarke KI -Modelle problemlos zu verwenden. Schritt 1: Holen Sie sich den API -Schlüssel, um auf die offizielle Website von Deepseek zuzugreifen, und klicken Sie in der oberen rechten Ecke auf die "Plattform". Sie erhalten eine bestimmte Anzahl freier Token (zur Messung der API -Verwendung verwendet). Klicken Sie im Menü links auf "Apikeys" und dann auf "Apikey erstellen". Nennen Sie Ihren Apikey (z. B. "Test") und kopieren Sie den generierten Schlüssel sofort. Stellen Sie sicher, dass Sie diesen Schlüssel richtig speichern, da er nur einmal angezeigt wird

Pinetwork startet Pibank, eine revolutionäre Mobile -Banking -Plattform! PiNetwork today released a major update on Elmahrosa (Face) PIMISRBank, referred to as PiBank, which perfectly integrates traditional banking services with PiNetwork cryptocurrency functions to realize the atomic exchange of fiat currencies and cryptocurrencies (supports the swap between fiat currencies such as the US dollar, euro, and Indonesian rupiah with cryptocurrencies such as PiCoin, USDT, and USDC). Was ist der Charme von Pibank? Lass uns herausfinden! Die Hauptfunktionen von Pibank: One-Stop-Management von Bankkonten und Kryptowährungsvermögen. Unterstützen Sie Echtzeittransaktionen und übernehmen Sie Biospezies

Hier sind einige beliebte KI-Slicing-Tools: TensorFlow DataSetPyTorch DataLoaderDaskCuPyscikit-imageOpenCVKeras ImageDataGenerator
