FlaskでHello Worldを表示するには?最初の1行を実行してみよう
生徒
「FlaskでWebアプリを作りたいんですが、最初に何をすればいいですか?」
先生
「まずは、Flaskを使って『Hello World』と表示する簡単なアプリを作ってみましょう。これがFlaskの基本です。」
生徒
「どうやって作るんですか?」
先生
「それでは、ステップバイステップで解説していきますね。」
1. Flaskとは?
Flask(フラスク)は、Pythonを使って手軽にWebアプリケーションを作れる、とてもシンプルなフレームワークです。 必要最低限の機能だけを備えているため、まずは小さなアプリを動かしてみたい初心者にぴったりの構成になっています。 「難しそう…」と思うかもしれませんが、実際には数行のコードを書くとブラウザ上に文字を表示できるため、 プログラミングの第一歩を踏み出すには最適なツールです。
たとえば、以下のようなほんの一行の関数でも、Webページに文字を表示させることができます。 こうした仕組みのわかりやすさが、Flaskが多くの初学者に選ばれている理由の一つです。
# Webページに表示したい内容を返す関数のイメージ
def sample():
return "これはFlaskで表示できるテキストの例です。"
まずは「コードを書く → ブラウザで確認」というシンプルな流れを体験しながら、 Webアプリがどのように動くのかを少しずつ理解していきましょう。 Flaskは必要な部分だけを組み立てていける柔軟さが魅力なので、 このあと作成する「Hello World」アプリも無理なく進められるはずです。
2. Flaskのインストール
Flaskを使ってWebアプリを動かすには、まず開発環境にFlask本体を追加する必要があります。 インストール作業はとてもシンプルで、ターミナル(Mac/Linux)やコマンドプロンプト(Windows)に コマンドを1行入力するだけで完了します。Pythonがすでに利用できる状態であれば、すぐに次のステップへ進めます。
以下のコマンドを入力して、Flaskをインストールしてみましょう。
pip install Flask
pip(ピップ)は、Pythonで利用するライブラリを追加・管理するための仕組みです。
上のコマンドを実行すると、Flaskに必要なファイル一式が自動でダウンロードされ、環境に組み込まれます。
少し英語のメッセージが流れますが、基本的にはそのまま待っていれば問題ありません。
初心者向け:インストール確認の簡単チェック
「本当にインストールできたのか不安…」という方は、次のような簡単なコードで FlaskがPythonから読み込めるかどうかを確かめてみましょう。 下の内容を test_flask.py として保存し、後述のコマンドで実行するだけです。
import flask
print("Flaskがインストールされています!")
保存したファイルのあるフォルダで以下を実行します。
python test_flask.py
「Flaskがインストールされています!」と表示されれば準備完了です。 この一歩をクリアできれば、次は実際にアプリを作って動かす段階へ進めます。 Flaskは初心者にやさしいフレームワークなので、安心して進めていきましょう。
3. Flaskアプリの作成
次に、Flaskアプリケーションのコードを書いてみましょう。以下のコードを「app.py」という名前のファイルに保存してください。
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
このコードは、ブラウザで「Hello World!」と表示するシンプルなWebアプリケーションです。
4. Flaskアプリの実行
作成した「app.py」を実行してみましょう。ターミナルやコマンドプロンプトで以下のコマンドを入力します。
python app.py
実行すると、以下のようなメッセージが表示されます。
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
ブラウザで「http://127.0.0.1:5000/」にアクセスすると、「Hello World!」と表示されます。
5. コードの解説
それぞれのコードの意味を解説します。
from flask import Flask: Flaskクラスをインポートします。app = Flask(__name__): Flaskアプリケーションのインスタンスを作成します。@app.route("/"): ルートURL(「/」)にアクセスがあったときの処理を定義します。def hello():: アクセスがあったときに実行される関数です。return "Hello World!": ブラウザに表示される文字列です。if __name__ == "__main__":: このファイルが直接実行されたときに以下のコードを実行します。app.run(): Flaskアプリケーションを起動します。
6. よくある質問
Q: Flaskアプリが起動しない場合はどうすればいいですか?
A: Flaskがインストールされているか確認してください。pip install Flaskを再度実行してみてください。
Q: ブラウザに「Hello World!」が表示されない場合は?
A: ターミナルに表示されたURL(通常はhttp://127.0.0.1:5000/)にアクセスしているか確認してください。
まとめ
Flaskを使って最初の一歩を踏み出すとき、いちばん大切なのはむずかしい設定や特別な知識よりも、実際に手を動かして動く画面を体験することだとあらためて感じます。今回つくった「Hello World」を表示する小さなアプリは、ほんとうに小さな一行の返却だけですが、その裏側ではPythonのコードがWebブラウザとやり取りをして、正しくリクエストを受け取ってレスポンスを返すという流れがしっかり実現されています。こうした基本の理解は、後からもっと複雑なルーティングやテンプレート、フォーム処理へ進むときの大きな土台になります。
Flaskは必要な部分だけを自分で組み立てていく自由度がとても高く、その分、ひとつひとつの構造をていねいに把握しておくと学習がぐっと楽になります。今回のサンプルも、インポート、アプリケーションのインスタンス化、ルートの定義、関数の返却など、要素ごとに順を追うことで仕組みが自然と見えてきます。とくに、「@app.route("/")」というデコレーターの仕組みはFlaskの中心ともいえる部分で、URLへのアクセスとPythonの処理を結びつけるとても重要な役割を担っています。こうした動きを理解しておくと、今後ページを増やしたり、条件ごとに処理を分けたりするときにも迷うことが少なくなるでしょう。
さらにアプリを実行する際にはpython app.pyという単純なコマンドだけでそのままローカル環境にサーバーが立ち上がり、ブラウザですぐに結果が確認できる点もFlaskの魅力です。大きな構築作業がいらず、思い立ったらすぐに動かせるという軽快さがあり、学習者にとっては試しやすく、理解を深めやすい環境といえます。
また、小さなアプリであっても、コードのどの部分がどんな働きをしているかを整理しておくことはとても大切です。下に再掲したシンプルなコードでも、インスタンス生成、ルーティング、レスポンスなど、Webアプリとして必要な基本がすべてそろっています。この流れをつかんでおくと、実際に自分のアイデアを形にするときにもスムーズに応用できるようになります。
サンプルプログラム(再掲と補足理解)
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
この短いコードの中には、Webアプリケーションとして必要な流れがすべてコンパクトに収まっています。Flask(__name__)で作られたアプリケーションオブジェクトが、ルーティングの定義をとおして「どのURLに対してどの関数を実行するか」を決めています。そして関数の返却値がそのままブラウザの画面に表示されるため、プログラムの動きが目で見えてわかりやすい点が学習の大きな助けになります。
こうしてWebアプリ開発のもっとも基本的な動作を確認することで、今後テンプレートエンジンの導入やフォーム入力、データベースとの連携といった次のステップへ進む準備が整っていきます。まずはこの最初の一歩をしっかり理解しておくことが、後の発展に大きくつながるのです。
生徒
「今日の内容で、Flaskが思っていたよりもずっとシンプルに始められるってわかりました!」
先生
「そうですね。最初のうちは難しい設定を気にする必要がありません。小さく動かしてみることがいちばん大切ですよ。」
生徒
「@app.route("/")がURLと関数を結びつけるっていう仕組みもだんだん理解できてきました。最初はただの記号に見えましたけど……。」
先生
「デコレーターは慣れるまでは不思議ですよね。でも今のように実際に動かしてみると、どんな役割なのかが自然に見えてきます。」
生徒
「次はもっとページを増やしたり、テンプレートを使ったりしてみたいです!」
先生
「いいですね。そのためにも今日の基本をしっかり覚えておきましょう。基本を理解していれば応用はずっと簡単になりますよ。」