本文へスキップ
totonoe.tech

フレームワークを整える

中級

Flask を整える

= ルートを書いてリクエストを送る——Python の Web フレームワークをサーバーなしで往復させる

サンプルコード(クリックでエディタとフォームに反映)

FLASK APP(Python) app = Flask(__name__)

リクエストを送る

RESPONSE

左のルートを書いて「▶ 送信」を押すと、ここに応答が出ます。

STDOUT(print 出力)

print 出力なし

使い方

4 ステップで Flask の骨格をつかむ。

  1. 1

    Hello — @app.route で URL と関数を結ぶ

    @app.route("/") を付けた関数が、その URL にアクセスされたときに呼ばれます。

  2. 2

    パスパラメータ — URL の一部を引数として受け取る

    /user/<name><name> がそのまま関数の引数になります。

  3. 3

    JSON API — jsonify で JSON を返す

    フロントエンドや別プログラムから呼ばれる API の基本形。辞書やリストを渡すだけで JSON レスポンスになります。

  4. 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の「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。

続けて整える

KOINOBORI ECOSYSTEM

私たちが運営するサイト