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

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

ラズパイデスクトップでFlask入門(4)Tutorial Register with the Application

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

こんばんは。國松です。
少し間隔が開いてしまいましたが前回の続きです。

Flaskのサイト
Welcome to Flask (英語版)
Flaskへようこそ (日本語版)

Register with the Application(アプリケーションに登録する)
colse_db関数とinit_db関数はアプリケーションインスタンスに登録する必要があります。
そうしないとアプリケーションによって使用されないからです。
アプリケーションを取得して登録を行う関数を作成していきます。db.pyに以下のコードを追記していきます。

flaskr/db.py

app.teardown_appcontext()
応答を返した後クリーンアップするときにclose_db関数を呼び出す様にFlaskに指示。
app.cli_add_command()
flaskコマンドで呼び出す事が出来る新しいコマンドを追加。

init_app関数をfactoryからimportして呼び出します。そのために__init__.pyのreturn appの前に以下のコードを追加します。
flaskr/__init__.py

Initialize  the Database File
init_dbがアプリに登録されたのでflaskコマンドを使用して呼び出す事ができる様になりました。

flask init-db と入力すると
Initialized the database.と表示され、データベースが初期化されます。

(flask ini-dbでError: No such command “init-bd”.とエラーが出た場合はpython -m flask init-dbと入力してみてください)
これでプロジェクトのインスタンスフォルダーにflaskr.sqliteファイルが作成されます。

(※もし前回のHelloWorldを実行したままサーバーが動いている状態の場合は、サーバーを停止(Ctrl+c)するか、新しい端末でこのコマンド(flask init-db)を実行できます。 新しいターミナルを使用する場合は、プロジェクトディレクトリに移動し、環境のアクティブ化の説明に従ってenvをアクティブにすることを忘れないでください。 FLASK_APPとFLASK_ENVも設定する必要があります。)

うまくいかない場合
上記のFlaskのサイトのTutorialの通りに入力してもうまく動かない場合以下のGtiHubから最新コード入手して実行してみてください。
GitHub Flask tutorial

 

    上に戻る