Flask Login & Sqlalchemy – Connexion de l’utilisateur, système d’authentification
La création d’une application avec le système de connexion et d’authentification de l’utilisateur est une fonction de base dans l’ère Web 3.0 actuelle. Apprenez à l’aide de la connexion Flask
L’utilisateur et orienté client sont super populaires dans le modèle commercial de nos jours. Outre Web 2.0, Web 3.0 met l’accent sur la décentralisation et rend plus d’autorité de données et de gestion des données aux utilisateurs actuels. Ainsi, une tendance d’approche de la centralisation des utilisateurs se produit et ce serait tout simplement plus important. Ainsi, la création d’une application à l’aide de FLASK, un système de connexion et d’authentification de l’utilisateur est une fonction de base qu’il doit avoir. Aujourd’hui est sur la façon de tirer parti du gestionnaire de connexion FLASK et d’en créer un dans votre application.
Table des matières: Système de connexion FLASK
- Installation et configuration du gestionnaire de connexion FLASK
- Créez et configurez la base de données utilisateur à l’aide de SQLALCHEMY et FLASK LOGIN USERMIXIN
- Enregistrement de l’utilisateur
- FLASK LOGIN_USER, LOGOUT_USER ET COURTH_USER
- Login_requured Decorator
- Script Python complet de la connexion et de l’authentification du compte utilisateur FLASK
- FAQ
Installation et configuration du gestionnaire de connexion FLASK
Ce module fournit une gestion de session utilisateur dans l’application Flask. Il gère les tâches communes de connexion, de connexion et de se souvenir des séances de vos utilisateurs sur de longues périodes.
Fondamentalement, le gestionnaire de connexion FLASK peut vous permettre de faire ces choses ci-dessous:
- Stockez l’ID de l’utilisateur actif dans la session et permettez-vous de les connecter facilement dans et l’extérieur.
- Permettez-vous de restreindre les vues aux utilisateurs connectés (ou enregistrés).
- Gérez la fonctionnalité «Rappelez-vous de moi» normalement délicate.
- Aidez à protéger les séances de vos utilisateurs contre les volés par des voleurs de biscuits.
- Peut-être intégrer à des extensions de flacon-pratication ou d’autres extensions d’autorisation.
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. Importez les modules de connexion FLASK
2. Démarrez l’instance LoginManager et connectez-vous avec votre application
3. Définissez la fonction LOAD_USER en renvoyant le user_id
Créez et configurez la base de données utilisateur à l’aide de SQLALCHEMY et FLASK LOGIN USERMIXIN
No.1, nous devons importer le module Sqlalchemy et le configurer avec l’application Flask
Deuxièmement, créez un utilisateur de classe qui est ajouté la colonne de données nécessaires et la spécification de chaque colonne de données.
Enfin et surtout, nous devons créer une base de données SQLALCHEMY Initiative. Dans le terminal, nous pouvons créer la base de données SQLALCHEMY Initiative. Veuillez utiliser le nom de l’application que vous avez créé dans l’application Flask et le nom de variable que vous avez utilisé pour vous connecter avec l’application FLASK. J’utilise l’application et la base de données ici.
Enregistrement de l’utilisateur
Les ingrédients sont désormais prêts à commencer à construire un itinéraire d’inscription pour que les nouveaux utilisateurs puissent rejoindre votre application.
Tout d’abord, un itinéraire est indispensable pour que les utilisateurs s’inscrivent.
@app.route("/registration", methods=['GET', 'POST'])
Pour plus de détails concernant l’itinéraire Flask et la collecte des données de soumission de HTML, veuillez consulter cet article
Deuxièmement, en faisant référence à la classe utilisateur que nous avons créée plus tôt, nous devons faire correspondre les nouvelles données d’entrée utilisateur du formulaire sur la route d’enregistrement avec notre colonne de base de données. Si votre application dispose également d’un programme API, ici doit également ajouter la variable token et le décoder la saisie du mot de passe par le nouvel utilisateur.
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.
Pour plus de détails sur le déploiement de l’API JWT FLASK, veuillez vous référer à cet article
https://www.easy2digital.com/automation/data/python-tutorial-54-utilize-flask-jwt-to-tokizer-the-api-user-identity-and-authenticate-users/
FLASK LOGIN_USER, LOGOUT_USER ET COURT_USER
Après la création de nouveaux utilisateurs, FLASK fournit des modules pour faciliter les développeurs pour construire des pages de connexion, se connecter des pages, S et détecter l’utilisateur enregistré sur les sites.
Tout d’abord, nous devons importer les modules à partir du flask_login. Je vais parler de Login_Required dans la section suivante.
Login_user
Pour vérifier les informations sur les informations de connexion de l’utilisateur sur la page de connexion, nous pouvons vérifier si le mot de passe utilisateur dans les données SQLALCHEMY peut correspondre à l’entrée de mot de passe par le visiteur.
Using the query.filter_by
in the User class to match the email address first.
Ensuite, si le mot de passe de l’utilisateur par e-mail récupéré correspond à la valeur d’entrée du formulaire, il est connecté. Et Login_user peut se souvenir de cet utilisateur dans n’importe quelle session plus tard avant Log_out.
Logout_user
Création d’un nouvel itinéraire pour que les utilisateurs se déconnectent de leurs comptes
Utilisateur actuel
Il s’agit d’un module super utile car il indique à l’application qui visite la page. Si vous aimez offrir un contenu exclusif pour les membres ou différencier le contenu entre les utilisateurs inconnus et les utilisateurs d’inscription. Ce module vous facilite le déploiement et la création des fonctions.
return render_template("shopify.html", user=current_user)
Pour détecter les utilisateurs existants, nous devons ajouter le current_user dans le rendu_template de chaque itinéraire ou les itinéraires que vous souhaitez afficher du contenu personnalisé dans l’application Flask.
Login_requured Decorator
Pour toutes les itinéraires qui ne sont ouverts qu’aux membres, vous devez ajouter le décorateur de connexion à la connexion sous l’itinéraire. Prenez l’itinéraire de déconnexion, par exemple, si un utilisateur n’a pas encore de connexion, elle ne peut pas cliquer sur la page de déconnexion, et vous pouvez ajouter un message FLASK pour les informer d’abord.
@app.route("/logout")
@login_required
def logout():
logout_user()
return redirect(url_for('home'))
Script Python complet de la connexion et de l’authentification du flacon
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.
J’espère que vous apprécierez la lecture du chapitre 57 – Créez le système de connexion et d’authentification du compte utilisateur à l’aide de Flask, Sqlalchemy. Si vous l’avez fait, veuillez nous soutenir en faisant l’une des choses énumérées ci-dessous, car cela aide toujours notre chaîne.
- 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
- Partagez l’article sur votre réseau social avec le hashtag # easy2digital
- Buy products with Easy2Digital 10% OFF Discount code (Easy2DigitalNewBuyers2021)
- Vous vous inscrivez à notre newsletter hebdomadaire pour recevoir les derniers articles, vidéos et codes de remise Easy2digital
- Subscribe to our monthly membership through Patreon to enjoy exclusive benefits (www.patreon.com/louisludigital)
FAQ:
Q1: Qu’est-ce que Flask Sqlalchemy?
R: Flask Sqlalchemy est une bibliothèque Python qui combine la simplicité de Flask avec la puissance de Sqlalchemy, un outil de cartographie d’objet-relation populaire (ORM). Il permet aux développeurs d’interagir facilement avec les bases de données à l’aide du code Python.
Q2: Quels sont les avantages de l’utilisation de SQLALCHEMY FLASK?
R: Flask Sqlalchemy offre plusieurs avantages. Premièrement, il fournit une interface de haut niveau pour travailler avec des bases de données, simplifiant le processus d’opérations CRUD. De plus, il prend en charge plusieurs backends de base de données, ce qui le rend polyvalent. Il s’intègre également bien à Flask, permettant une intégration transparente avec les applications Web.
Q3: Comment installer 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.
Q4: Le ballon SQLALCHEMY peut-il être utilisé avec n’importe quelle base de données?
R: Oui, Flask Sqlalchemy prend en charge plusieurs backends de base de données, y compris des options populaires comme SQLite, MySQL, PostgreSQL et Oracle. Cette flexibilité vous permet d’utiliser la base de données qui convient le mieux à vos besoins.
Q5: Flask Sqlalchemy est-il adapté aux applications à grande échelle?
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.
Q6: Flask Sqlalchemy prend-il la migration?
R: Oui, Flask Sqlalchemy fournit un support migratoire via la bibliothèque Alembic. Alembic vous permet de gérer facilement les changements de schéma de base de données et de les appliquer à votre base de données de production sans perte de données.
Q7: Flask Sqlalchemy est-il compatible avec les extensions de flacon?
R: Oui, Flask Sqlalchemy est compatible avec diverses extensions de ballon. Il s’intègre de manière transparente avec Flask-WTF pour la gestion des formulaires, le login de flacon pour l’authentification des utilisateurs et le flacon-admin pour les interfaces d’administration, entre autres.
Q8: Flash Sqlalchemy peut-il gérer les requêtes complexes?
R: Oui, Flask Sqlalchemy fournit une API de requête puissante qui vous permet de construire des requêtes complexes à l’aide du code Python. Il prend en charge le filtrage, le tri, l’adhésion à plusieurs tables et l’agrégation des données.
Q9: Flask Sqlalchemy est-il adapté aux débutants?
R: FLASK SQLALCHEMY peut être utilisé par les débutants, mais il nécessite une certaine compréhension des concepts SQL et de base de données. Il est recommandé d’avoir une compréhension de base de Python et de bases de données avant de plonger dans Flask Sqlalchemy.
Q10: Y a-t-il des alternatives à Flask Sqlalchemy?
R: Oui, il existe d’autres bibliothèques ORM disponibles pour Flask, telles que Pony Orm et Peewee. Cependant, Flask Sqlalchemy est largement utilisé et bien documenté, ce qui en fait un choix populaire pour de nombreux développeurs.