Flask Login & SQLalchemy – Benutzeranmeldung, Authentifizierungssystem

Das Erstellen einer Anwendung mit dem Benutzeranmeldungs- und Authentifizierungssystem ist eine grundlegende Funktion in der aktuellen Web 3.0 -Ära. Lernen Sie mit der Anmeldung des Flasks lernen

Benutzerbasiert und kundenorientiert sind im Geschäftsmodell der heutigen Heutzutage sehr beliebt. Abgesehen von Web 2.0 betont Web 3.0 die Dezentralisierung und gibt den aktuellen Benutzern mehr Datenberechnung und Datenverwaltung zurück. Daher entsteht ein Benutzerzentralisierungsansatz und wäre einfach wichtiger. In Bezug auf das Erstellen einer Anwendung mit Flask ist ein Benutzeranmeldungs- und Authentifizierungssystem eine grundlegende Funktion, die sie haben muss. Heute befasst sich mit dem Einsatz von Login -Manager von Flask -Login -Manager und erstellt einen in Ihrer Bewerbung.

Inhaltsverzeichnis: Flask -Anmeldesystem

Installation und Konfiguration von Flask Login Manager

Dieses Modul bietet Benutzersitzungsverwaltung in der Flask -Anwendung. Es kümmert sich um die gängigen Aufgaben des Anmeldung, Anmeldung und Erinnern an die Sitzungen Ihrer Benutzer über längere Zeiträume.

Grundsätzlich können Sie mit dem Flask Login Manager diese Dinge unten tun:

  1. Speichern Sie die ID des aktiven Benutzers in der Sitzung und lassen Sie sich einfach ein- und auszeichneten.
  2. Lassen Sie die Ansichten auf angemeldete (oder angemeldete) Benutzer einschränken.
  3. Gehen Sie mit der normalerweise schwierigen Funktionalität „Erinnere dich an mich“.
  4. Helfen Sie mit, die Sitzungen Ihrer Benutzer vor dem Diebstahl von Cookie -Dieben zu schützen.
  5. Möglicherweise in Flask-Principal oder andere Autorisierungserweiterungen integrieren.

First thing first, installing a flask login manager is super easy. We can input pip3 install flask-login into your computer terminal. Then, configuring the flask login with your flask application is by doing the three steps:

1. Importieren Sie die Kolben -Anmeldemodule

2. Initiieren Sie die Loginmanager -Instanz und verbinden Sie sich mit Ihrer App

3. Definieren Sie die Funktion load_user, indem Sie die user_id zurückgeben

Erstellen und konfigurieren Sie die Benutzerdatenbank mit SQLAlchemy und Flask Login Usermixin

Nr. 1, wir müssen das SQLalchemy -Modul importieren und mit der Flask -Anwendung konfigurieren

Erstellen Sie zweitens einen Klassenbenutzer, der die benötigte Datenspalte und die Spezifikation jeder Datenspalte hinzugefügt wird.

Last but not least müssen wir eine Initiative SQLalchemy -Datenbank erstellen. Im Terminal können wir die Initiative SQLalchemy -Datenbank erstellen. Bitte verwenden Sie den Anwendungsnamen, den Sie in der Flask -Anwendung erstellt haben, und den Variablennamen, mit dem Sie mit der Flask -App verbunden sind. Ich benutze die App und die DB hier.

Benutzer Registration

Jetzt sind Zutaten bereit, eine Registrierungsroute zu erstellen, damit neue Benutzer Ihrer Bewerbung beitreten können.

Das Wichtigste zuerst ist eine Route für die Registrierung von Benutzern unverzichtbar.

@app.route("/registration", methods=['GET', 'POST'])

Weitere Informationen zum Flask Route und zum Sammeln von Einreichungsdaten von HTML finden Sie in diesem Artikel

https://www.easy2digital.com/automation/data/python-tutorial-26-create-a-shopify-bot-web-application-using-flask–heroku/

Zweitens müssen wir uns auf die zuvor erstellte Benutzerklasse beziehen, die wir mit den neuen Benutzereingabedaten aus dem Formular auf der Registrierungsroute mit unserer Datenbankspalte übereinstimmen. Wenn Ihre Anwendung auch über ein API -Programm verfügt, muss auch hier die Token -Variable hinzugefügt und die Kennworteingabe durch den neuen Benutzer dekodiert werden.

new_user = User(email=email, username=username, password=generate_password_hash(password, method='sha256'), token=token.decode())

Then, we can add the new_user and utilize commit() it to confirm it, and remember it by using the login_user function we created earlier.

Weitere Informationen zur Bereitstellung von Flask JWT API finden Sie in diesem Artikel

https://www.easy2digital.com/automation/data/python-tutorial-54-utilize-flask-jwt-t-token-the-api-user-identity-and-authenticate-ners/

Flask Login_User, logout_user und current_user

Nach neuer Benutzererstellung bietet Flask Module, mit denen Entwickler Anmeldeseiten aufbauen, Seiten anmelden und den protokollierten Benutzer auf Websites erkennen können.

Als erstes müssen wir die Module aus dem Flask_login importieren. Ich werde im nächsten Abschnitt über Login_Reque Gired sprechen.

Login_user

Um die Eingabe der Benutzeranmeldeinformationen auf der Anmeldeseite zu überprüfen, können wir überprüfen, ob das Benutzerkennwort in den SQLalchemy -Daten mit der Kennworteingabe durch den Besucher übereinstimmen kann.

Using the query.filter_by in the User class to match the email address first. 

Wenn das Kennwort des abgerufenen E -Mail -Benutzers mit dem Eingabwert aus dem Formular entspricht, ist es angemeldet. Und Login_User kann diesen Benutzer später vor LOG_OUT in einer beliebigen Sitzung merken.

Logout_user

Erstellen einer neuen Route, in der Benutzer sich von ihren Konten abmelden können

Current_user

Dies ist ein super nützliches Modul, wie es der Anwendung mitteilt, die die Seite besucht. Wenn Sie exklusive Inhalte für Mitglieder anbieten oder Inhalte zwischen unbekannten Benutzern und Anmeldnutzern unterscheiden möchten. Dieses Modul ermöglicht es Ihnen, die Funktionen bereitzustellen und zu erstellen.

return render_template("shopify.html", user=current_user)

Um die vorhandenen Benutzer zu erkennen, müssen wir den current_user in die render_template jeder Route oder zu den Routen hinzufügen, die Sie in der Flask -Anwendung personalisierten Inhalten anzeigen möchten.

Login_Required Dekorateur

Für alle Routen, die nur für Mitglieder geöffnet sind, müssen Sie den Dekorator Login_Required unter der Route hinzufügen. Nehmen Sie beispielsweise die Anmelderoute, wenn sich ein Benutzer noch nicht angemeldet hat, sie oder er nicht durch die Abmeldeseite klicken kann, und Sie können eine Flask -Nachricht hinzufügen, um sie zuerst anzumelden.

@app.route("/logout")

@login_required

def logout():

logout_user()

return redirect(url_for('home'))

Vollständiges Python -Skript von Flask Login und Authentifizierung

If you are interested in the full python scripts of Chapter 57 – Build the User Account Login and Authentication System Using Flask, SQLAlchemy, please subscribe to our newsletter by adding the message “Chapter 57”. We would send you the script immediately to your mailbox.

Kontaktiere uns

Ich hoffe, Sie lesen gerne Kapitel 57 – Erstellen Sie das Benutzerkonto -Login- und Authentifizierungssystem mit Flask SQLalchemy. Wenn Sie dies getan haben, unterstützen Sie uns bitte, indem Sie eines der unten aufgeführten Dinge tun, da dies immer unserem Kanal hilft.

  • Support and donate to our channel through PayPal (paypal.me/Easy2digital)
  • Subscribe to my channel and turn on the notification bell Easy2Digital Youtube channel.
  • Follow and like my page Easy2Digital Facebook page
  • Teilen Sie den Artikel in Ihrem sozialen Netzwerk mit dem Hashtag #Easy2Digital mit
  • Buy products with Easy2Digital 10% OFF Discount code (Easy2DigitalNewBuyers2021)
  • Sie melden sich für unseren wöchentlichen Newsletter an, um die neuesten Artikel, Videos und Rabattcodes für Easy2Digital zu erhalten
  • Subscribe to our monthly membership through Patreon to enjoy exclusive benefits (www.patreon.com/louisludigital)

FAQ:

F1: Was ist Flask Sqlalchemy?

A: Flask Sqlalchemy ist eine Python-Bibliothek, die die Einfachheit von Flask mit der Kraft von Sqlalchemy kombiniert, einem populären Tool für Objektrelationskarten (ORM). Es ermöglicht Entwicklern, mithilfe von Python -Code problemlos mit Datenbanken zu interagieren.

F2: Was sind die Vorteile der Verwendung von Flask Sqlalchemy?

A: Flask Sqlalchemy bietet mehrere Vorteile. Erstens bietet es eine hochrangige Schnittstelle für die Arbeit mit Datenbanken und vereinfacht den Prozess der CRUD-Operationen. Darüber hinaus unterstützt es mehrere Datenbank -Backends und macht sie vielseitig. Es integriert sich auch gut in den Flask und ermöglicht eine nahtlose Integration in Webanwendungen.

F3: Wie installiere ich Flask Sqlalchemy?

A: To install Flask SQLAlchemy, you can use pip, the Python package installer. Simply run the command ‘pip install Flask-SQLAlchemy’ in your terminal or command prompt.

F4: Kann Flask Sqlalchemy mit einer Datenbank verwendet werden?

A: Ja, Flask SQLALCHEMY unterstützt mehrere Datenbank -Backends, einschließlich beliebter Optionen wie SQLite, MySQL, PostgreSQL und Oracle. Mit dieser Flexibilität können Sie die Datenbank verwenden, die Ihren Anforderungen am besten entspricht.

F5: Ist Flask Sqlalchemy für groß angelegte Anwendungen geeignet?

A: Yes, Flask SQLAlchemy is suitable for large-scale applications. It is designed to handle complex database operations efficiently and offers features like connection pooling and query optimization. However, it’s important to properly optimize your code and database queries to ensure optimal performance.

F6: Unterstützt Flask Sqlalchemy Migration?

A: Ja, Flask Sqlalchemy bietet Migrationsunterstützung durch die alembische Bibliothek. Mit Alembic können Sie das Datenbankschema -Änderungen problemlos verwalten und auf Ihre Produktionsdatenbank ohne Datenverlust anwenden.

F7: Ist Flask Sqlalchemy mit Flask -Erweiterungen kompatibel?

A: Ja, Flask Sqlalchemy ist mit verschiedenen Kolbenverlängerungen kompatibel. Es integriert unter anderem nahtlos in Flask-WTF für Formhandhabung, Flaskendlogin für die Benutzerauthentifizierung und Flask-Admin.

F8: Kann Flask Sqlalchemy komplexe Abfragen umgehen?

A: Ja, Flask SQLalchemy bietet eine leistungsstarke Abfrage -API, mit der Sie komplexe Abfragen mit Python -Code erstellen können. Es unterstützt das Filtern, Sortieren, Verbinden mehrerer Tabellen und aggregierte Daten.

F9: Ist Flask Sqlalchemy für Anfänger geeignet?

A: Flask SQLalchemy kann von Anfängern verwendet werden, erfordert jedoch ein gewisses Verständnis der SQL- und Datenbankkonzepte. Es wird empfohlen, ein grundlegendes Verständnis von Python und Datenbanken zu haben, bevor Sie in Flask Sqlalchemy eintauchen.

F10: Gibt es Alternativen zum Flask Sqlalchemy?

A: Ja, es gibt alternative Orm -Bibliotheken für Flaschen, wie Pony Orm und Peewee. Flask Sqlalchemy ist jedoch weit verbreitet und gut dokumentiert, was es für viele Entwickler zu einer beliebten Wahl macht.