【Flask】初めてのFlaskコードを書いてみよう|Chapter1-3

一つ前のページではFlaskの開発環境を構築しました。
今回は 初めてのFlaskコード を書いてみましょう。
Chapter1:Flask入門編
・Chapter1-1:Flaskとは何か
・Chapter1-2:Flaskの開発環境を構築しよう
・Chapter1-3:初めてのFlaskコードを書いてみよう ◁今回はここ
・Chapter1-4:ルーティングを理解しよう
・Chapter1-5:動的ルーティングを理解しよう
Chapter2:Jinja2入門編
Chapter3:フィルター編
Chapter4:フォーム編
Chapter5:データベース編
Chapter6:エラーハンドリングとデバッグ編
Chapter7:アプリ開発編
FlaskはPythonでWebアプリを作るためのとてもシンプルで軽量なフレームワークです。
Flaskアプリを動かすのは、たった数行のコードだけで実現できます。
今回は「Flaskってこうやって動くんだ」という全体の流れをつかむことを目的として、深く考えすぎず、1行ずつ確認していきましょう。
- Flask開発を Stream Deck でボタン化しよう!
-
Flaskは非常に軽量かつシンプルなフレームワークですが、それゆえに定型作業が多く、開発は単調な作業の連続になりがちです。
それこそがFlaskのメリットであり、習得難易度が低い理由でもありますが、単調な作業は退屈で、ミスも起こりやすいでしょう。
そこで役に立つのが Stream Deck 。
このような定型手順が多い作業を “ボタン化” することで視覚化。
圧倒的に 効率的 かつ ストレスフリー な開発環境が簡単に手に入ります↓↓
あわせて読みたいFlask開発をStreamDeckでボタン化しようあわせて読みたいプログラマー向けStream Deckの選び方|初心者でも失敗しないモデル比較ガイド
Flaskアプリの最小コード構成を理解しよう
Flaskでは、たった数行のコードでWebアプリを作ることができます。
必要な構成は大きく分けて以下の3つです:
- Flaskのインスタンスを作る
- URLと関数を結びつける(ルーティング)
- アプリを起動する
この構成を押さえておけば、どんなに規模が大きいアプリでも基本は理解できます。

ブラウザに「Hello Flask!」と標示しよう
以下が、今回作るFlaskアプリの完成コードです。
VSCodeにコピーするか書き写してください(覚えるために書き写すことを推奨します)。
from flask import Flask # flaskモジュールの中のFlaskクラスをインポート
# -- インスタンス生成 --
app = Flask(__name__) # Flaskクラスを使ってアプリのインスタンスを作成。引数には__name__を指定
# -- ルーティング --
@app.route("/") # ルートURL(http://〜/)にアクセスがあった時の処理を定義
def hello_flask(): # 関数hello_flaskを定義
return '<h1>HelloFlask!</h1>' # ブラウザに表示するHTML文字列を返す
# -- サーバー起動 --
if __name__ == "__main__": # このファイルが直接実行されたときだけ、以下の処理を行う
app.run(debug=True) # Flaskアプリを起動。debug=Trueをつけることでエラー時に詳細表示されるコードを保存したら実行してみましょう。
正常に起動すれば、ターミナルにURL(例:http://127.0.0.1:5000/)と表示されるので、それを「Ctrl + クリック」でブラウザ表示しましょう。
ブラウザに「HelloFlask!」と表示されたら成功です!
ここから先は、コードの各行の詳細を紹介します。
次回以降のチャプターで詳細に学習していきますので、今回の時点では雰囲気がつかめれば大丈夫です。
from flask import Flask
Flaskという モジュール の中から、Flaskというクラスだけを取り出して使うという意味です。
FlaskクラスはFlaskアプリを作るための「本体」です。これを使ってアプリケーションの設定や動作を行います。

app = Flask(__name__)
Flaskクラスからアプリケーションのインスタンス(実体)を作成しています。変数appに代入するのが慣例です。
この__name__はPythonの特別な変数で、現在のファイルが直接実行されたのかどうか(別のPythonファイルから呼び出されていないか)を判断するために使われます。
Flaskではこの値をもとにテンプレートや静的ファイルの場所を自動で判断しています。
@app.route("/")
この行は デコレーターと呼ばれ、次の行の関数とURLパス(ここでは /)を結びつける役割をします。
関数の上に@をつけて書く特殊な構文で、関数に追加の処理や設定を加えるときに使います。Flaskでは ルーティング(URLと処理の対応づけ)でよく使います。
ルーティングについては次の記事で詳細に学習します。デコレーターが分からない方は↓↓の記事で復習しましょう。

def hello_flask():
関数を定義しています。
上の行の「@app.route("/")」によって、この関数はルートURL / にアクセスがあったときに呼び出されます。
return '<h1>HelloFlask!</h1>'
この行は関数の戻り値として HTML形式の文字列(<h1~の部分)を返しています。Flaskで書いた文字列がHTMLでコードとして処理され、ブラウザに表示されます。
Flaskの学習を進めていくにあたり、HTMLの基礎文法だけは理解しておきましょう。
↓↓のサイトのレッスン1(全て無料)だけで十分です。

if __name__ == "__main__":
このファイルが他のファイルからではなく、直接実行された場合にだけ中の処理を行うための書き方です。
app.run(debug=True)
Flaskアプリを実行する命令です。
引数debug=Trueをつけることで、コードの変更を即座に反映したり、エラー内容を詳しく表示してくれたりします。
開発時にはとても便利です(本番では必ずFalseにします)。
まとめ
Flaskはたった数行のコードでWebアプリを作れる軽量なフレームワークです。
この1記事であなたも立派な「Flask開発者の第一歩」を踏み出しました!
次は「ルーティングとは何か?」を深掘りして、より柔軟なURLの設計を学んでいきます。
- サイト改善アンケート|1分だけ、ご意見をお聞かせください
-
本サイトでは、みなさまの学習をよりサポートできるサービスを目指しております。
そのため、ご利用者のみなさまの「プログラミングを学習する理由」などをアンケート形式でお伺いしています。ご協力いただけますと幸いです。
アンケート
FAQ|Flaskの最小コードで「HelloFlask!」を表示する方法
- Q1. Flaskコードの保存ファイル名に決まりはありますか?
-
特に決まりはありませんが、初心者のうちは「app.py」や「main.py」など、一般的に使われる名前を使うのが安心です。また、ファイル名と同じ名前の関数や変数を使うとエラーになることがあるので避けましょう。
- Q2. ターミナルに「ModuleNotFoundError: No module named ‘flask’」と出たらどうすればいい?
-
これはFlaskがインストールされていないことが原因です。仮想環境をアクティブにした状態で
pip install flaskを実行してください。それでも解決しない場合は、仮想環境が正しく作成・有効化されているかを確認しましょう。






