ホームページ バックエンド開発 Python チュートリアル Flask フレームワークでのデータベース統合と ORM の実践

Flask フレームワークでのデータベース統合と ORM の実践

Sep 27, 2023 pm 12:01 PM
flask orm データベースの統合

Flask フレームワークでのデータベース統合と ORM の実践

Flask フレームワークでのデータベース統合と ORM の実践

要約:
Flask は、シンプルで使いやすいルーティングを提供する軽量の Python Web フレームワークです。ビュー関数、テンプレート、その他の関数がありますが、実際のアプリケーションでは、ほとんどのアプリケーションはデータを保存したり読み取ったりするためにデータベースと対話する必要があります。この記事では、Flask フレームワークにデータベースを統合し、ORM フレームワークを使用してデータベース操作を簡素化する方法を紹介します。

1. Flask データベースの統合
Flask フレームワークでは、SQLite、MySQL、PostgreSQL などのさまざまなデータベースを使用してデータを保存できます。データベースを統合する前に、対応するデータベース ドライバーをインストールする必要があります。 Flask-SQLAlchemy は使いやすく強力であるため、ORM フレームワークとして推奨されます。

  1. 依存関係のインストール
    pip コマンドを使用して必要な依存関係をインストールします:

    pip install Flask SQLAlchemy
    ログイン後にコピー
  2. データベースの構成
    で使用できますFlask アプリケーションの構成ファイル、またはデータベース接続パラメーターをコード内で直接構成します。たとえば、SQLite データベースの接続パラメータは次のように構成できます。

    app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///your_database.db'
    ログイン後にコピー

    ここでは、データベース ファイル名は「your_database.db」に設定されていますが、必要に応じて変更することもできます。

  3. データベースの初期化
    Flask アプリケーションを初期化するときは、データベースを初期化する必要があります。次のコードをアプリケーションのファクトリ関数に追加できます。

    from flask_sqlalchemy import SQLAlchemy
    
    db = SQLAlchemy()
    
    def create_app():
     app = Flask(__name__)
     # ...
     db.init_app(app)
     # ...
     return app
    ログイン後にコピー

    ここでは、db.init_app(app) を使用してデータベースを初期化します。

2. データベース操作には ORM フレームワークを使用します。
ORM (オブジェクト リレーショナル マッピング) は、リレーショナル データベースのテーブル構造とオブジェクトの間のマッピングであり、開発を可能にします。データベースをオブジェクト指向で構築します。 Flask-SQLAlchemy は、SQLAlchemy と組み合わせて使用​​して ORM 関数を実装できる Flask の拡張機能です。

  1. モデルを定義する
    Flask アプリケーションで ORM フレームワークを使用する場合、データベース テーブルをマップするためのモデル (Model) を定義する必要があります。モデル クラスは、各フィールドとフィールド属性を定義し、クラスとテーブルの間でマッピングします。たとえば、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
    ログイン後にコピー

    モデル クラスでは、各フィールドは db.Column のインスタンスであり、フィールドの型と属性を定義できます。この例では、id、名前、電子メールの 3 つのフィールドが定義されており、id が主キーです。

  2. データベース移行
    アプリケーションの開発に伴い、データベース テーブルの構造が変更される場合があります。ORM フレームワークには、データベース構造を簡単に変更および更新できるデータベース移行ツールが用意されています。 Flask フレームワークでは、Flask-Migrate 拡張機能を使用してデータベース移行を実装できます。

最初に Flask-Migrate 依存関係をインストールします:

pip install Flask-Migrate
ログイン後にコピー

次のコマンドを使用してデータベース移行を初期化します:

flask db init
ログイン後にコピー

次に、移行スクリプトを生成します:

flask db migrate -m "initial migration"
ログイン後にコピー

最後に、データベースの移行を実行します:

flask db upgrade
ログイン後にコピー
  1. データベース操作
    ORM フレームワークを使用すると、追加、削除、変更などのデータベース操作を実行するのは非常に簡単です。 、クエリはモデル クラスのメソッドを通じて実装できます。よく使用されるデータベース操作のサンプルコードを以下に示します。

    # 查询所有用户
    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()
    ログイン後にコピー

    データベース操作は、モデルクラスのクエリオブジェクトを呼び出し、セッションを変更することで実行できます。

結論:
この記事では、Flask フレームワークにデータベースを統合し、データベース操作に ORM フレームワークを使用する方法を紹介します。 Flask-SQLAlchemy 拡張機能を使用すると、モデルを簡単に定義し、データベース移行を実行し、データベース操作を実行できます。実際のアプリケーションでは、ニーズに応じてさまざまなデータベース タイプを選択でき、モデルのニーズに応じて合理的な設計を実行できます。

注:
上記の例は参照のみを目的としており、実際に使用するには、特定のプロジェクト要件に応じて変更および拡張する必要があります。

以上がFlask フレームワークでのデータベース統合と ORM の実践の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Django vs. Flask: Python Web フレームワークの比較分析 Django vs. Flask: Python Web フレームワークの比較分析 Jan 19, 2024 am 08:36 AM

Django と Flask はどちらも Python Web フレームワークのリーダーであり、それぞれに独自の利点と適用可能なシナリオがあります。この記事では、これら 2 つのフレームワークを比較分析し、具体的なコード例を示します。開発の概要 Django はフル機能の Web フレームワークであり、その主な目的は、複雑な Web アプリケーションを迅速に開発することです。 Django は、ORM (オブジェクト リレーショナル マッピング)、フォーム、認証、管理バックエンドなどの多くの組み込み機能を提供します。これらの機能により、Django は大規模なデータを処理できるようになります。

ゼロから始めて、Flask をインストールし、個人ブログを迅速に確立する方法を段階的にガイドします。 ゼロから始めて、Flask をインストールし、個人ブログを迅速に確立する方法を段階的にガイドします。 Feb 19, 2024 pm 04:01 PM

ゼロから始めて、Flask をインストールし、個人ブログをすぐに構築する方法を段階的に説明します。書くことが好きな人にとって、個人ブログを持つことは非常に重要です。軽量の Python Web フレームワークである Flask は、シンプルで完全に機能する個人ブログを迅速に構築するのに役立ちます。この記事では、ゼロから始めて、Flask をインストールして個人ブログを迅速に構築する方法を段階的に説明します。ステップ 1: Python と pip をインストールする 開始する前に、まず Python と pi をインストールする必要があります

Flask フレームワークのインストールガイド: Flask を正しくインストールするための詳細な手順 Flask フレームワークのインストールガイド: Flask を正しくインストールするための詳細な手順 Feb 18, 2024 pm 10:51 PM

Flask フレームワークのインストール チュートリアル: Flask フレームワークを正しくインストールする方法を段階的に説明します。特定のコード例が必要です。 はじめに: Flask は、シンプルで柔軟な Python Web 開発フレームワークです。学びやすく、使いやすく、強力な機能が満載です。この記事では、Flask フレームワークを正しくインストールする方法を段階的に説明し、参照用の詳細なコード例を提供します。ステップ 1: Python をインストールする Flask フレームワークをインストールする前に、まず Python がコンピュータにインストールされていることを確認する必要があります。 Pから始められます

Flask アプリケーション展開における Gunicorn と uWSGI のパフォーマンスの比較 Flask アプリケーション展開における Gunicorn と uWSGI のパフォーマンスの比較 Jan 17, 2024 am 08:52 AM

Flask アプリケーションのデプロイメント: Gunicorn と suWSGI の比較 はじめに: Flask は、軽量の Python Web フレームワークとして、多くの開発者に愛されています。 Flask アプリケーションを運用環境にデプロイする場合、適切なサーバー ゲートウェイ インターフェイス (SGI) を選択することが重要な決定となります。 Gunicorn と uWSGI は 2 つの一般的な SGI サーバーであり、この記事ではこれらについて詳しく説明します。

PHP でオブジェクト リレーショナル マッピング (ORM) を使用してデータベース操作を簡素化するにはどうすればよいですか? PHP でオブジェクト リレーショナル マッピング (ORM) を使用してデータベース操作を簡素化するにはどうすればよいですか? May 07, 2024 am 08:39 AM

PHP でのデータベース操作は、オブジェクトをリレーショナル データベースにマップする ORM を使用して簡素化されます。 Laravel の EloquentORM を使用すると、オブジェクト指向構文を使用してデータベースと対話できます。モデル クラスを定義したり、Eloquent メソッドを使用したり、実際にブログ システムを構築したりすることで ORM を使用できます。

Flask アプリケーションのための Gunicorn 導入ガイド Flask アプリケーションのための Gunicorn 導入ガイド Jan 17, 2024 am 08:13 AM

Gunicorn を使用して Flask アプリケーションをデプロイするにはどうすればよいですか? Flask は、さまざまなタイプの Web アプリケーションの開発に広く使用されている軽量の Python Web フレームワークです。 Gunicorn (GreenUnicorn) は、WSGI (WebServerGatewayInterface) アプリケーションの実行に使用される Python ベースの HTTP サーバーです。この記事では、Gunicorn を使用して Flask アプリケーションをデプロイする方法を紹介します。

Hibernate はポリモーフィック マッピングをどのように実装しますか? Hibernate はポリモーフィック マッピングをどのように実装しますか? Apr 17, 2024 pm 12:09 PM

Hibernate ポリモーフィック マッピングは、継承されたクラスをデータベースにマップでき、次のマッピング タイプを提供します。 join-subclass: 親クラスのすべての列を含む、サブクラス用の別個のテーブルを作成します。 table-per-class: サブクラス固有の列のみを含む、サブクラス用の別個のテーブルを作成します。 Union-subclass: join-subclass と似ていますが、親クラス テーブルがすべてのサブクラス列を結合します。

Java Hibernate フレームワークの ORM メカニズムとは何ですか? Java Hibernate フレームワークの ORM メカニズムとは何ですか? Apr 17, 2024 pm 02:39 PM

Hibernate は、Java オブジェクトとリレーショナル データベース間のマッピングのための JavaORM フレームワークです。その ORM メカニズムには次の手順が含まれます。 注釈/構成: オブジェクト クラスは、マップされたデータベース テーブルと列を指定する注釈または XML ファイルでマークされます。セッションファクトリー: Hibernate とデータベース間の接続を管理します。セッション: データベースへのアクティブな接続を表し、クエリおよび更新操作を実行するために使用されます。永続性: save() または update() メソッドを通じてデータをデータベースに保存します。クエリ: 基準と HQL を使用して、データを取得するための複雑なクエリを定義します。

See all articles