Flask(フラスク)は、Pythonで書かれた軽量なWebアプリケーションのフレームワークです
flaskは、シンプルでわかりやすい構文で、小規模なプロジェクトから大規模なアプリケーションまで、幅広い用途で利用されています
flaskはデフォルトで必要最低限の機能しか持っていませんが、さまざまな拡張機能(プラグイン)を利用することで、機能を追加できます
今回はflask全体のフォルダ構成を理解して、テストページと表示するまでを解説したいと思います
・環境
Flask 3.1.0
・ライブラリのインストール
pip install flask
・全体のフォルダ構成
テストページを表示するまでの最低限のフォルダ構成です
project_directory/
├── flaskr/
│ ├── __init__.py
│ ├── main.py
│ └── templates/
│ └── index.html
└── run.py
・各ファイルの内容
__init.py__
初期化処理を行うファイルになります
from flask import Flask
app = Flask(__name__)
import flaskr.main
app = Flask(__name__)
Flaskアプリケーションのインスタンスを作成しています
import flaskr.main
flaskr パッケージ内の main モジュールをインポートしています
このインポートにより、main モジュール内で定義されたルート(URLエンドポイント)がアプリケーションに登録されます
main.py
from flaskr import app
from flask import render_template
@app.route('/')
def index():
return render_template('index.html')
from flaskr import appflaskr
アプリケーションのPythonパッケージ(ディレクトリ)名を指します
その中に、Flaskアプリケーションのインスタンス(app)が定義されていることを前提としています
from flask import render_template
Flaskの render_template 関数をインポートしています
render_template は、テンプレート(HTMLファイル)を読み込み、必要に応じてデータを埋め込んでレンダリングするために使用します
@app.route(‘/’)
Flaskのルートデコレータで、URLエンドポイントを指定します
ここでは ‘/’ を指定しているため、アプリケーションのルートURL(例: http://127.0.0.1:5000/)にアクセスしたときにこの関数が実行されます
return render_template(‘index.html’)
Flaskの render_template 関数を使用して、templates フォルダ内にある index.html ファイルをレンダリングします
index.html
表示するページのhtmlファイル
動作確認なので、titleとH1のみ書いています
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>flask app</title>
</head>
<body>
<H1>To Do List</H1>
</body>
</html>
run.py
エントリポイント(Entry Point)となるファイルです
これはプログラムやアプリケーションの実行が開始される「出発点」を指します
from flaskr import app
if __name__ == "__main__":
app.run(debug=True)
from flaskr import app
flaskr はアプリケーションのPythonパッケージ(ディレクトリ)名を指します。
その中に app という名前のFlaskアプリケーションインスタンスが定義されている前提です
if name == “main”:
Pythonのスクリプトが直接実行された場合のみ以下のコードを実行するという条件分岐です
app.run(debug=True)
app.run() は Flask の開発用サーバーを起動するメソッドです。
引数:
debug=True
デバッグモードを有効にします
サーバーがコード変更を検知して自動リロードします
エラーが発生した場合、詳細なエラーメッセージ(デバッグ情報)がブラウザに表示されます
注意: デバッグモードは 開発環境専用 で、本番環境では使用しないでください
・WEBアプリケーションの起動
以下のコマンドでflaskのWEBアプリケーションが起動します
python run.py
ターミナルに以下のような結果が表示されたら、http://127.0.0.1:5000をCtrl keyを押しながらクリックしてサーバーにアクセスします
* Serving Flask app 'flaskr'
* 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: 234-418-491
これでflaskによるWEBアプリケーションが起動出来たと思います
次回以降で、さらにWEBアプリケーションの機能を増やして行きたいと思います
コメント