我々はSQLAlchemyの、独立したデータベースオブジェクトのマッピング関係を学んだ前に、実際のフラスコ中でも、オブジェクト・リレーショナル・マッピングでフラスコを処理するために、サードパーティのSQLAlchemyのコンポーネントを認定されています。
1. flask_sqlalchemyをインストールします。
flask_sqlalchemyをインストールするPIP
2.プロジェクト準備
我々はプロジェクト運用データベースを作るflask_sqlachemy追加された次のプロジェクトに基づいて、次のようにきれいなフラスコプロジェクトディレクトリ構造があるの準備します。
1.コンポーネントflask_sqlalchemyを追加します。
flask_sqlalchemy_project / __init__
の.py
フラスコインポートフラスコ #导入フラスコSQLAlchemyの中的SQLAlchemyの から flask_sqlalchemy 輸入SQLAlchemyの #インスタンス化SQLAlchemyの DB = SQLAlchemyの() #PS:SQLAlchemyのインスタンス化コードは、設計図に先立って導入されなければならない から flask_sqlalchemy_lesson.views インポートユーザ デフcreate_app(): アプリ =フラスコ(__name__ ) #初期化アプリケーションは、特別SQLAlchemyのために構成された、強力で設定することをアプリに設定する #SQLALCHEMY_DATABASE_URI設定SQLAlchemyの接続文字列の子どもたち のapp.config [ " SQLALCHEMY_DATABASE_URI " ] = " //ルート:[email protected]:3306のMySQL +のpymysql /ドラゴン?UTF8文字セット= " #1 SQLAlchemyのSQLALCHEMY_POOL_SIZE接続プールのサイズ設定 [App.configファイル" SQLALCHEMY_POOL_SIZE " ] = 5 #の接続時間のSQLALCHEMY_POOL_TIMEOUT構成SQLAlchemyの App.configファイル[ " SQLALCHEMY_POOL_TIMEOUT " ] = 15 App.configファイル[ " SQLALCHEMY_TRACK_MODIFICATIONS 」 ] = 偽 #初期SQLAlchemyの、本質的には上記構成読み出すある db.init_appを(APP) app.register_blueprint(ユーザー) リターンアプリ
2. models.pyファイルを確立し、ORMモデルファイル
flask_sqlalchemy 輸入SQLAlchemyの から flask_sqlalchemy_lesson 輸入デシベル #ベース#= db.Modelあなたはまだ覚えています。この文? #sqlalchemy.ext.declarativeからのインポートがdeclarative_base #ベースを= declarative_base() #あなたがそのようなことデータテーブルを作成するときに我々が持っているすべての時間を行うには #しかし、フラスコSQLAlchemyのは、ベースに私たちのために良いパッケージされている #ユーザーのデータシートの作成クラスをユーザー(db.Model): #は、テーブル名を指定し__tablename__ = 「user_flaskを」 #私たちはここでのように、カラムとデータ型Integer型を導入し、db.Modelが良いパッケージ持っているSQLAlchemyのでは 前述したID = db.Column(db.Integer、PRIMARY_KEY = true)を 名前 = db.Column(db.String(32)、NULL可能= 偽) IF __name__ == ' __main__ ' : から day101_SQLAlchemy.flask_sqlalchemy_lesson インポート create_appの #のインポート・データベース のApp = create_app() db.create_all(APP = APP)
3.青写真機能user.py
フラスコ輸入青写真 から day101_SQLAlchemy.flask_sqlalchemy_lesson.modelsのインポートユーザーは、デシベル user_bp =青写真(" user_bp "、__name__ ) @ user_bp.route(" / ADD_USER / <ユーザー名> "、メソッド= [ " GET "、" POST " ]) デフADD_USER(ユーザ名): uは、ユーザーを=(名= ユーザ名) db.session.add(U) #オープンデータベース接続ウィンドウ db.session.commit() の戻り 「200の成功を追加しています」 @ user_bp.route(" / GET_USER / <ユーザー名> "、メソッド= [ " GET "、" POST " ]) デフGET_USER(ユーザ名): U = Users.query.filter(Users.name == ユーザ名)1次回() の戻り u.name
4.プロジェクトmanage.pyファイルを実行します
day101_SQLAlchemy.flask_sqlalchemy_lessonのインポートcreate_app アプリ = create_app() もし __name__ == ' __main__ ' : app.run()