Flaskでルーティング設定をマスターする完全ガイド

FlaskはPythonで書かれたマイクロWebフレームワークであり、ルーティング設定が非常に簡単で直感的です。この記事では、Flaskでの基本的なルーティングから応用までを解説します。具体的なコード例とその解説、応用例を含めています。

目次

Flaskとは

FlaskはPythonのWebフレームワークの1つです。軽量でありながら、強力な機能を持つことで知られています。ルーティングもその1つであり、初心者から経験者まで手軽に扱うことができます。

基本的なルーティング

Flaskでのルーティング設定は通常、デコレータを使用して行います。

from flask import Flask
app = Flask(__name__)

@app.route("/")
def home():
    return "Hello, Flask!"

if __name__ == "__main__":
    app.run()

この例では、ルートURL(”/”)にアクセスすると”Hello, Flask!”と表示されるように設定しています。

デコレータとは

デコレータは、関数を修飾してその挙動を変更するPythonの機能です。ここでは`@app.route(“/”)`がデコレータで、`home`関数にルーティングの機能を追加しています。

動的ルーティング

URLに変数を含む場合、動的ルーティングを使用します。

@app.route("/user/")
def show_user(username):
    return f"Hello, {username}!"

この設定で、例えば`/user/Taro`にアクセスすると”Hello, Taro!”と表示されます。

HTTPメソッドの制限

Flaskでは、HTTPメソッド(GET、POSTなど)も指定できます。

@app.route("/post", methods=["POST"])
def show_post():
    return "This is a POST method."

この例では、POSTメソッドでしかこのルートにアクセスできないようにしています。

応用例1:URLに型指定をする

URLの動的部分に型も指定できます。

@app.route("/post/")
def show_post_id(post_id):
    return f"Post ID is {post_id}."

ここでは``と指定することで、`post_id`が整数であることを保証しています。

応用例2:複数のルートを1つのビュー関数で処理

1つのビュー関数で複数のルートを処理することも可能です。

@app.route("/hello")
@app.route("/hi")
def say_hello():
    return "Hello!"

この例では、`/hello`と`/hi`の両方のURLで同じビュー関数`say_hello`が呼ばれます。

まとめ

Flaskでのルーティング設定は非常に直感的で、多くのカスタマイズも可能です。初心者からプロフェッショナルまで、幅広いニーズに対応できるのがFlaskの魅力です。

コメント

コメントする

目次