[Python 100日チャレンジ] Day 82 - FlaskのルーティングとURL
FlaskでURLパラメータ、動的ルート、GET/POSTなどのHTTPメソッドを扱う方法を学びます。
[Python 100日チャレンジ] Day 82 - FlaskのルーティングとURL
ルーティングとは
ルーティングは、URLと処理を対応させる仕組みです。
1
2
3
@app.route("/about")
def about():
return "About page"
/aboutにアクセスすると、about()関数が実行されます。
動的URL
1
2
3
@app.route("/users/<username>")
def profile(username):
return f"User: {username}"
URLの一部を変数として受け取れます。ユーザーページや記事ページでよく使います。
HTTPメソッド
1
2
3
@app.route("/login", methods=["GET", "POST"])
def login():
return "Login"
GETはページ表示、POSTはフォーム送信のように使い分けます。
URLを作る
ルートの断片は、前回のFlaskアプリに追加して使います。url_for()はリクエストを処理しているルート関数の中などで呼ぶ例であり、ファイルの先頭でそのまま実行するものではありません。ここではprofileという関数名から/users/akiというパスを作る点を確認しましょう。
1
2
3
from flask import url_for
url_for("profile", username="aki")
url_for()を使うと、関数名からURLを生成できます。
今日のゴール
Flaskのルーティングを理解すると、複数ページを持つWebアプリを作れるようになります。静的URL、動的URL、HTTPメソッドをセットで覚えましょう。
この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。
