フレームワークを整える
中級Flask を整える。
= ルートを書いてリクエストを送る——Python の Web フレームワークをサーバーなしで往復させる
サンプルコード(クリックでエディタとフォームに反映)
リクエストを送る
RESPONSE
左のルートを書いて「▶ 送信」を押すと、ここに応答が出ます。
STDOUT(print 出力)
print 出力なし
使い方
4 ステップで Flask の骨格をつかむ。
- 1
Hello — @app.route で URL と関数を結ぶ
@app.route("/")を付けた関数が、その URL にアクセスされたときに呼ばれます。 - 2
パスパラメータ — URL の一部を引数として受け取る
/user/<name>の<name>がそのまま関数の引数になります。 - 3
JSON API — jsonify で JSON を返す
フロントエンドや別プログラムから呼ばれる API の基本形。辞書やリストを渡すだけで JSON レスポンスになります。
- 4
POST とフォーム — request でデータを受け取る
request.form(フォーム送信)とrequest.get_json()(JSON 送信)の2通りを試せます。
💡 このツールはサーバーを起動しません。Flask 自身のテスト機能(app.test_client())を使い、
「リクエストを送る → ルート関数が呼ばれる → レスポンスが返る」という往復だけをブラウザ内で再現しています。
実際にポートを開いて待ち受けるわけではないので、実務の Flask アプリと1対1ではありませんが、ルート定義の書き方や挙動の確認には十分です。
🌐 通信について補足します。「▶ 送信」を最初に押した1回だけ、Python の実行環境(Pyodide 0.28.0)を配信元の
cdn.jsdelivr.net から取得します(初回のみ約10MB、以降はブラウザキャッシュ)。
続けて Flask 一式(5個の wheel ファイル・合計約0.5MB)を、totonoe 自身が配信する
/wheels/ から取得します(外部のパッケージ配布元へは接続しません)。
Flask は BSD ライセンスで配布されているオープンソースソフトウェアです。
いずれもプログラムを受け取るだけの通信で、あなたが書いたコードやリクエストの内容が外部へ送られることはありません(送信ゼロ)。
このツールについて
Flask は「URL(ルート)ごとに関数を1つ書く」だけで Web API が作れる Python の軽量フレームワーク。ブラウザの中だけで動くので、ルートを書いて → リクエストを送って → レスポンスがどう返るかを安全に何度でも試せます。
ブラウザ内で Flask を動かす Playground。ルートを書いて、メソッド・パス・ボディを指定して送信すると、サーバーを起動せず Flask のテストクライアントで往復を再現します。
主な機能
- 4サンプル(Hello・パスパラメータ・JSON API・POST とフォーム)
- メソッド・パス・ボディ・Content-Type を指定して送信、ステータス・ヘッダ・本文を表示
- サーバーは起動せず app.test_client() で往復を再現
- Flask 一式は totonoe 自身の /wheels/ から配信(BSD)・Pyodide は初回のみ約10MB・送信ゼロ
よくある質問
Q. Flask のサーバーは本当に起動しているのですか?
A. 起動していません。Flask 自身のテスト機能(app.test_client())でリクエストとレスポンスの往復だけを再現しています。ルート定義の書き方や挙動の確認には十分ですが、ネットワーク越しにアクセスできるわけではありません。
Q. なぜ Flask は最初から入っていないのですか?
A. Pyodide に同梱されるパッケージに Flask は含まれないためです。totonoe 自身が配信する純 Python の wheel 5本(blinker・click・itsdangerous・werkzeug・flask)を micropip で読み込んでいます。
Q. 書いたコードやリクエスト内容は送信されますか?
A. されません。最初の1回だけ Python 実行環境と Flask 一式をダウンロードしますが、あなたが書いたコードや入力内容が外部に送られることはありません(送信ゼロ)。
入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。