大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

ラズパイデスクトップでFlask入門(5)Blueprints and Views(1)  Create a Blueprint

著者:國松亜紗子
公開日:2019/11/27
最終更新日:2019/11/27
カテゴリー:技術情報

こんばんは。國松です。
今日、ダウンジャケットを着ていったところ思ったほど寒くなく電車の暖房に少々ぐったりしております。
そんな事はさておきFlask tutorialの続きです。

Blueprints and Views
BlueprintsはFlaskで使われる部品でアプリケーションの機能を分割して実装するためのライブラリです。Blueprintsを使用することでプログラムの保守性を向上させることができます。
実は私もまだBluleprintについてキチンと理解できていないのですがBlueprintについては以下のサイトが参考になります。
いまさらながらFlaskについてまとめる~Blueprint~
Python + Flask + Buluprintで複数のアプリケーションを登録する際にきをつけること

View関数はアプリケーションの要求に応答するために作成します。Flaskはパターンを利用して要求リクエストURLとそれを処理するViewを対応させます。

Create a Blueprint
Blueprintを使うには以下の順に行います。
1.Blueprintを実装する
2.実装したBlueprintをアプリケーションに登録する。
Flaskrには二つのBlueprintsがあります。
1.認証機能用
2.ブログ投稿機能用
Blueprintのコードは別々のモジュールに入ります。まず認証機能用Blueprintを作成していきます。
flaskrディレクトリの中にauth.pyを作成してそこにコードを書いていきます。authはauthentication(認証)の略です。

import functools

from flask import (
    Blueprint, flash, g, redirect, render_template, request, session, url_for
)
from werkzeug.security import check_password_hash, generate_password_hash

from flaskr.db import get_db

#'auth'という名前のBlueprintを作成
bp = Blueprint('auth', __name__, url_prefix='/auth')

bp = Blueprint(‘auth’, __name__, url_prefix=’/auth’)
アプリケーションオブジェクトと同様にBlueprintはそれが定義されている場所を知る必要があるので2番目の引数として__name__が渡されます。url_prefixはBlueprintに関連付けられているすべてのURLの先頭に追加されます。

作成したBlueprintをアプリケーションに追加するために__init__.pyにコードを追加します。

def create_app():
    app = ...
    # existing code omitted

    from . import auth
    app.register_blueprint(auth.bp)

    return app

app.register_blueprint()を使用してauthBlueprintをインポートして登録します。
authBlueprintには新規ユーザーの登録,ログインおよびログアウトをするためのViewがあります。まず新規ユーザー登録のためのViewを作成していきます。

今回はここまでにしたいと思います。次回は新規ユーザー登録のためのViewの作成から始めたいと思います。

 

 

    上に戻る