python flask 入門 No.1

Python

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アプリケーションの機能を増やして行きたいと思います

コメント