< 前の記事
簡易Webサーバーの作成
[Python]Flask のインストールと動作確認
公開日:2025-12-19
更新日:2025-12-19
更新日:2025-12-19
1. 概要
Webフレームワークの Flask のインストールと簡単な動作確認を行います。
2. インストール
コマンド
pip install flask3. コード
コード
from flask import Flask, request, abort
app = Flask(__name__)
@app.route('/')
def index():
msg = request.args.get('msg')
if msg is None:
abort(500)
return msg
@app.route('/hello')
def hello():
return 'Hello'
if __name__ == "__main__":
app.run()
実行後、ブラウザで http://localhost:5000/?msg=test にアクセスすると、test と表示されます。
http://localhost:5000/ にアクセスすると、Internal Server Error と表示されます。
また、http://127.0.0.1:5000/hello にアクセスすると、Hello と表示されます。
4. 説明
@app.route() に URL のパターンを指定して、その後ろにリクエストを処理する関数を定義します。
5. URL と関数の関連付けの仕組みについて
デコレーターの仕組みを知らなくても Flask を使うことはできますが、
Python の理解を深めるために、URL と関数の関連付けを再現しました。
@obj.route('/') で、route() が呼ばれます。
route() では、decorator() と言う関数を定義して返します。
これにより、
@obj.route('/')
が、
@decorator
の形になります。
次に、デコレーター構文により、次の行の関数 index() が、decorator() に渡されます。
そして decorator() では、渡された関数を、URL をキーにして辞書に登録します。
あとは、get() などのメソッドを定義して、辞書から URL に対応した関数を取り出して実行するだけです。
Python の理解を深めるために、URL と関数の関連付けを再現しました。
コード
class DummyFlask:
def __init__(self):
self.func_dict = {}
def route(self, url):
def decorator(func):
self.func_dict[url] = func # [URL] = 関数
return func
return decorator
def get(self, url):
self.func_dict[url]()
obj = DummyFlask()
@obj.route('/')
def index():
print('index')
@obj.route('/hello')
def hello():
print('Hello')
# リクエストの処理
obj.get('/')
obj.get('/hello')
@obj.route('/') で、route() が呼ばれます。
route() では、decorator() と言う関数を定義して返します。
これにより、
@obj.route('/')
が、
@decorator
の形になります。
次に、デコレーター構文により、次の行の関数 index() が、decorator() に渡されます。
そして decorator() では、渡された関数を、URL をキーにして辞書に登録します。
あとは、get() などのメソッドを定義して、辞書から URL に対応した関数を取り出して実行するだけです。
< 前の記事
簡易Webサーバーの作成

