Flaskの環境構築と最低限のアプリ起動を手取り足取りまとめてみた
Flaskの入門を楽しく学びたい方
以下のようなことが学べます。
- Flaskの環境構築の方法
- Flaskの環境構築からルーティング(URLとプログラムの紐づけ)
- Flaskのディレクトリ構成
以下がそれぞれどんなディレクトリなのか、何をどこに置いて開発すればいいのか?
my_flask_app/
├── app.py
├── templates/
└── index.html
環境の前提
WindowsOSにPythonをインストール済みであること。
※ほかのOSでもフォルダ⇒ディレクトリへの読み替えで問題なく実施できます。
Flaskとは
超ざっくり説明すると・・・
PythonのWebアプリケーション開発で使われる代表的なフレームワーク
よく比較されるDjangoとの比較は以下です。
- Django:大規模システム開発に向いている。機能が豊富だが学習コストが高い。
- Flask :必要最小限の機能に抑え、小規模のシステム開発に向いている。学習コストが小さい。
Flaskアプリが動くまでの最小構成
my_flask_app/
├── app.py # 開発アプリケーションを配置します★ロジック
├── templates/ # HTML配置フォルダ
└── index.html # HTMLファイル★画面に表示する型枠
Flaskの環境構築
筆者はWindows環境で実行します。異なるOSの方はフォルダ⇒ディレクトリへの読み替えなどをお願いします。
Python仮想環境の作成
環境を汚さないようPythonの仮想環境を準備します。あまり気にしない方は「Flaskのインストール」から実行してください。
- 仮想環境用のフォルダを作成します
例として以下フォルダを作成します。
C:\my_flask
- CMDを開き、作業フォルダを移動します
cd C:\my_flask
- Python仮想環境を作成する
python -m venv venv
解説箇所 | 意味 |
---|---|
python |
Pythonインタプリタを呼び出す |
-m venv |
Pythonの標準モジュール「venv」を使う |
venv |
作成する仮想環境のフォルダ名(任意) |
フォルダを確認するとvenvフォルダができています。
- 仮想環境を起動します
venv\Scripts\activate
実行結果:プロンプトに(venv)と表示されていれば仮想環境を起動できています
(venv) C:\my_flask>
(補足)
上記コマンドは以下のフォルダのactivateを実行しています。
うまく起動できない方はbatフィルを直接実行すると解消する可能性があります。
venv\Scripts\activate.bat
Flaskのインストール
- Flaskをインストールします
pip install flask
- Flaskのインストールを確認します
flask --version
実行結果:Flaskと同時にWerkzeug(HTTP処理の基盤)もインストールされています
(venv) C:\my_flask>flask --version
Python 3.12.8
Flask 3.1.2
Werkzeug 3.1.3
Flaskの最小アプリを作成(「こんにちは、Flask!」を表示)
- app.pyを作成する
C:\my_flask_app\
├── app.py
- app.pyを編集する
from flask import Flask
# Flaskアプリのインスタンスを作成
app = Flask(__name__)
# '/' というURLにアクセスされたときに、hello() 関数が呼ばれる
@app.route('/')
def hello():
# ブラウザに表示する内容を返す
return 'こんにちは、Flask!'
# このファイルが直接実行されたときだけ、アプリを起動するおまじない
if __name__ == '__main__':
# Flaskの開発用サーバーを起動(debug=True で変更を即反映&エラー表示が見やすくなる)
app.run(debug=True)
とにかくページを開けるようになるまではおまじない的なコードが多いです。
@app.route('/')
の部分はデコレータというもので、詳しく知りたい方はデコレータを学んでみてください。
ここではかなり長くなるので割愛しますが、'/'のディレクトリにアクセスがあった際に、@以降の関数を実行する動きをここではします。
- app.pyを起動する
実行例では、running on http://127.0.0.1:5000 と出てきている部分が待ち受けのサービスです
(venv) C:\my_flask>python app.py
* Serving Flask app 'app'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:5000
Press CTRL+C to quit
* Restarting with stat
* Debugger is active!
* Debugger PIN: 970-833-964
- ブラウザで画面表示を確認する
(例)http://127.0.0.1:5000
以下の画面がでれば、正しくアプリが起動できていることがわかります。
いかがだったでしょうか。簡単にアプリができたと思います。
近いうちにもう少し具体的なアプリを作る記事を書きたいと思いますのでお楽しみに。
Flaskの基礎とシステム開発の入門を学びたい方
Flaskの環境構築・起動方法からシステム開発の入門を学べるUdemy講座を公開しています。
講義の中で2ちゃんねる風の掲示板を作っていきます!
ネタ系講座ではなく、しっかりシステム開発の要件確定、設計、実装の一通りの流れも楽しく学べるようにできていますのでぜひ!
デモ画面だけちょっと貼っておきますね。
Discussion