ホームページ > バックエンド開発 > Python チュートリアル > Python で Flask ブループリントを使用する方法 (コード付き)

Python で Flask ブループリントを使用する方法 (コード付き)

不言
リリース: 2018-11-15 15:07:04
転載
4743 人が閲覧しました

この記事の内容は、Python での Flask ブループリントの使い方 (コード付き) であり、一定の参考価値があります。必要な友人が参照することができます。お役に立てれば幸いです。

ブループリント

以前にコードを通じて Flask の基本的な使用法を学習しました。ここで問題が発生しました。実行する関数はますます増えています。ルーティングは必要ですか?実行ファイルに配置されますか?たとえば、さまざまなファイルでいくつかのルートを定義しましたが、それらにアクセスするには、さまざまなサービスを開く必要がありますか?

ブループリントは Flask で提供されており、特に Flask のモジュール化に使用されます。

Flask は、ブループリントの概念を使用してアプリケーション コンポーネントを作成し、アプリケーション内またはアプリケーション間での共通パターンをサポートします。ブループリントは、大規模なアプリケーションの動作を大幅に簡素化し、Flask 拡張機能がアプリケーション上でアクションを登録するための中心的な手段を提供します。ブループリント オブジェクトは Flask アプリケーション オブジェクトと同様に機能しますが、実際にはアプリケーションではありません。むしろ、それはアプリケーションを構造化または拡張する方法の青写真です。

つまり、ブループリントを使用するとプログラムをよりモジュール化でき、さまざまな機能のルートをさまざまなモジュールの下に配置し、最終的にスタートアップ クラスに集中させることができます。

まず、新しい flask プロジェクト ファイルを作成し、以下に示すようなファイル構造を作成します。

Python で Flask ブループリントを使用する方法 (コード付き)

メイン実行ファイル

from app.movie.view import movie as movie_bp
from app.tag.view import tag as tag_bp
from flask import Flask


if __name__ == '__main__':
    app = Flask(__name__)
    app.register_blueprint(tag_bp,url_prefix='/tag')
    app.register_blueprint(movie_bp,url_prefix='/movie')
    app.run(port=9099)
ログイン後にコピー

モジュール 1: Tag

すべてのルーティング関数とビュー関数は、ここでは view.py

from flask import Blueprint


tag = Blueprint('tag',__name__)
@tag.route('/')
def index():
    return 'ok'

@tag.route('/add/')
def add():
    return 'tag add'
ログイン後にコピー

という名前の別のファイルに書き込まれます。モジュール 2: Movie

すべてのルーティング関数とビュー関数は、引き続き別のファイルに記述されており、ここでは view.py

from flask import Blueprint


movie = Blueprint('movie',__name__)
@movie.route('/')
def index():
    return 'ok'

@movie.route('/add/')
def add():
    return 'movie add'
ログイン後にコピー

実行結果

Python で Flask ブループリントを使用する方法 (コード付き)

Python で Flask ブループリントを使用する方法 (コード付き)##

以上がPython で Flask ブループリントを使用する方法 (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート