Maison >développement back-end >Tutoriel Python >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

WBOY
WBOYoriginal
2023-09-27 12:01:02641parcourir

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
  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'

    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

    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

    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

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

flask db init

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

flask db migrate -m "initial migration"

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

flask db upgrade
  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()

    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!

Déclaration:
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