10.Flaskのアプリケーション製造工場
これまでの記事ではトップレベルのディレクトリに直接hello.pyというファイルを用意していましたが、この方法は実用的なアプリケーションには向きません。この記事ではFlaskインスタンスを関数の内側で作成する方法について学びましょう。
これまでの記事ではトップレベルのディレクトリに直接hello.pyというファイルを用意していましたが、この方法は実用的なアプリケーションには向きません。この記事ではFlaskインスタンスを関数の内側で作成する方法について学びましょう。
この記事ではFlaskプロジェクトのディレクトリ構成について解説します。Flaskアプリケーションは単一ファイルにまで単純化することが可能ですが、実用的なアプリケーションでは複数のモジュールからなるパッケージを構成するのが一般的です。
ここまでの学習内容だけでFlaskで簡単な1行掲示板を作ってみましょう。あくまで練習用なので、実用アプリケーションとしてはこのままだと色々と問題がありますが、雰囲気を掴んでみるには良い経験になると思います。
Flaskで投稿フォームを作ってみましょう。投稿フォームはWebアプリケーションでよく使われるものの1つで、実装にはFlaskの知識に加えてHTMLとHTTPメソッドの知識が必要となります。
ある程度複雑なアプリケーションでは複数のWebページを必要とするため、テンプレートファイルも複数用意することになります。これらをすべて直書きしていてはメンテナンスが大変ですが、Flaskのテンプレートエンジンでは共通部分を分割して管理することができます。
Flaskのテンプレートエンジンを使って、リストを定義してループで表示してみましょう。リストをテンプレートに渡すには変数と同じように render_template の引数に指定します。
これまでは記述した文字列を関数の return でそのまま表示していましたが、この方法では複数行に渡る複雑な内容を記述するのは大変です。データと見た目を分離してプログラムからWebページを自動生成しやすくするテンプレートエンジンを使ってみましょう。
Webブラウザのリクエストに応じて呼び出す処理を切り替えるルーティング機能を使ってみましょう。プログラムによる動的なWebページではユーザーがアクセスしたURLに応じて呼び出す処理を切り替えることで、それぞれのページに応じた異なる情報を出力しています。
Pythonの軽量WebアプリケーションフレームワークであるFlaskを使ってみましょう!まずはおなじみ画面上に Hello World と表示してみます。
Pythonの軽量Webアプリケーションフレームワーク、Flaskのインストール手順を解説します。PythonのWebアプリケーションフレームワークというとDjangoが有名ですが、flaskは標準で提供する機能が最小限になっており、初学者の練習用にうってつけです。