Intégration de bases de données et pratique ORM sous le framework Flask

WBOY
Libérer: 2023-09-27 12:01:02
original
592 Les gens l'ont consulté

Intégration de bases de données et pratique ORM sous le framework Flask

Intégration de bases de données et pratique ORM sous le framework Flask

Résumé :
Flask est un framework Web Python léger qui fournit des fonctions simples et faciles à utiliser telles que le routage, les fonctions d'affichage et les modèles, mais dans les applications réelles, la plupart des applications doivent interagir avec la base de données pour stocker et lire les données. Cet article expliquera comment intégrer une base de données sous le framework Flask et utiliser le framework ORM pour simplifier les opérations de base de données.

1. Intégration de la base de données Flask
Dans le framework Flask, vous pouvez utiliser une variété de bases de données pour stocker des données, les plus courantes incluent SQLite, MySQL, PostgreSQL, etc. Avant d'intégrer la base de données, vous devez installer le pilote de base de données correspondant. Flask-SQLAlchemy est recommandé comme framework ORM car il est facile à utiliser et puissant.

  1. Installer les dépendances
    Utilisez la commande pip pour installer les dépendances requises :

    pip install Flask SQLAlchemy
    Copier après la connexion
  2. Configurer la base de données
    Dans l'application Flask, vous pouvez utiliser le fichier de configuration ou configurer les paramètres de connexion à la base de données directement dans le code. Par exemple, la configuration des paramètres de connexion de la base de données SQLite peut être la suivante :

    app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///your_database.db'
    Copier après la connexion

    Ici le nom du fichier de base de données est défini sur "votre_base de données.db", qui peut également être modifié selon les besoins.

  3. Initialiser la base de données
    Lorsque l'application Flask est initialisée, la base de données doit être initialisée. Vous pouvez ajouter le code suivant à la fonction d'usine de l'application :

    from flask_sqlalchemy import SQLAlchemy
    
    db = SQLAlchemy()
    
    def create_app():
     app = Flask(__name__)
     # ...
     db.init_app(app)
     # ...
     return app
    Copier après la connexion

    Ici, db.init_app(app) est utilisé pour initialiser la base de données.

2. Utilisez le framework ORM pour les opérations de base de données
ORM (Object Relational Mapping) mappe la structure de table d'une base de données relationnelle aux objets, permettant aux développeurs d'exploiter la base de données de manière orientée objet. Flask-SQLAlchemy est une extension de Flask qui peut être utilisée conjointement avec SQLAlchemy pour implémenter des fonctions ORM.

  1. Définir le modèle
    Dans une application Flask, lorsque vous utilisez le framework ORM, vous devez définir un modèle (Model) pour mapper la table de la base de données. La classe modèle définit chaque champ et attributs de champ, et mappe entre les classes et les tables. Par exemple, définissez un modèle User :

    from flask_sqlalchemy import SQLAlchemy
    
    db = SQLAlchemy()
    
    class User(db.Model):
     id = db.Column(db.Integer, primary_key=True)
     name = db.Column(db.String(50), unique=True)
     email = db.Column(db.String(120), unique=True)
    
     def __init__(self, name, email):
         self.name = name
         self.email = email
    Copier après la connexion

    Dans la classe model, chaque champ est une instance de db.Column, et le type et les attributs du champ peuvent être définis. Dans cet exemple, trois champs, id, name et email, sont définis, id étant la clé primaire.

  2. Migration de base de données
    Avec le développement d'applications, la structure des tables de base de données peut changer. Le framework ORM fournit des outils de migration de base de données pour modifier et mettre à jour facilement la structure de la base de données. Dans le framework Flask, vous pouvez utiliser l'extension Flask-Migrate pour implémenter la migration de base de données.

Installez d'abord la dépendance Flask-Migrate :

pip install Flask-Migrate
Copier après la connexion

Utilisez la commande suivante pour initialiser la migration de la base de données :

flask db init
Copier après la connexion

Ensuite, générez le script de migration :

flask db migrate -m "initial migration"
Copier après la connexion

Enfin, effectuez la migration de la base de données :

flask db upgrade
Copier après la connexion
  1. Base de données opérations
    Utilisez le framework ORM Le fonctionnement de la base de données est très simple et des opérations telles que l'ajout, la suppression, la modification et la requête peuvent être implémentées via les méthodes de la classe modèle. Voici quelques exemples de codes d'opération de base de données couramment utilisés :

    # 查询所有用户
    users = User.query.all()
    
    # 根据条件查询用户
    user = User.query.filter_by(name='username').first()
    
    # 添加用户
    new_user = User('username', 'email@example.com')
    db.session.add(new_user)
    db.session.commit()
    
    # 更新用户
    user.name = 'new_username'
    db.session.commit()
    
    # 删除用户
    db.session.delete(user)
    db.session.commit()
    Copier après la connexion

    Les opérations de base de données peuvent être effectuées en appelant l'objet de requête de la classe de modèle et en modifiant la session.

Conclusion :
Cet article explique comment intégrer une base de données sous le framework Flask et utiliser le framework ORM pour les opérations de base de données. Grâce à l'extension Flask-SQLAlchemy, vous pouvez facilement définir des modèles, effectuer une migration de base de données et effectuer des opérations de base de données. Dans les applications pratiques, différents types de bases de données peuvent être sélectionnés en fonction des besoins et des conceptions raisonnables peuvent être réalisées en fonction des besoins du modèle.

Remarque :
Les exemples ci-dessus sont uniquement à titre de référence et doivent être modifiés et développés en fonction des exigences spécifiques du projet pour une utilisation réelle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!