【ふらすく】

Flask とは?

最終更新:
💡 Webの基本を土台に、必要な機能を組み合わせる

PythonでWebアプリやAPIを作るためのWebフレームワーク。URLと処理を対応付ける機能などを備え、データベース連携や認証などは必要に応じて組み合わせる。

📌 このページのポイント
Flask:URLに対応する処理を呼ぶ GET /helloブラウザー① リクエスト② ルーティング/hello → hello()URLと関数を対応付け③ ビュー関数応答の内容を作るHTMLならJinjaも使えるJSONを返すことも可能HTML / JSON200 OK④ レスポンス必要な機能は、拡張を組み合わせる付属の開発用サーバーは本番に使わない
一つのURLを処理する成功例です。全応答でテンプレートが必要なわけではなく、本番公開には適切な実行環境を用意します。
ひよこ ひよこ
Flaskって何ができるの?
ペンギン先生 ペンギン先生
Pythonで、URLへのリクエストを受けて応答を作るアプリを書けるよ。たとえば /hello に対応する関数を登録し、その戻り値からレスポンスを作る。HTMLのページやJSONを返すAPIに使えるんだ。
ひよこ ひよこ
マイクロって、小さいアプリ専用なの?
ペンギン先生 ペンギン先生
コアをシンプルにし、拡張できる設計という意味だよ。アプリ全体を一つのファイルに収める必要はない。データベースの扱いやフォームの検証などは、用途に合うライブラリを選んで組み合わせるんだ。
ひよこ ひよこ
HTMLも全部自分で書くの?
ペンギン先生 ペンギン先生
HTMLのひな形にデータを埋め込むJinjaというテンプレートエンジンが組み込まれているよ。必要なときに使えばよく、全リクエストでテンプレートを通すわけではない。JSONを直接返す処理も作れるね。
ひよこ ひよこ
大きなアプリになったら?
ペンギン先生 ペンギン先生
コードを分け、認証やデータ管理、エラー処理、テストなどを設計する必要があるよ。Flaskが全ての構成を決めるわけではないので、自由に選べることと、自分たちで管理することを合わせて考えよう。
ひよこ ひよこ
付属のサーバーでそのまま公開していい?
ペンギン先生 ペンギン先生
付属サーバーは開発や確認のためのものだよ。本番では適切なWSGIサーバーなどの実行環境を用意する。ブラウザーからコードを実行できるデバッガーも本番で有効にしないんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Flask」って出てきたら「Pythonで軽量にWebアプリを作れるフレームワークだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「Flask」 = フラスコ(実験用の瓶)
💬 flaskは実験用フラスコなどの瓶を表す英単語だよ。ここではPythonのWebフレームワークの名前だよ

参考資料

← 用語集にもどる