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}."
ここでは`
応用例2:複数のルートを1つのビュー関数で処理
1つのビュー関数で複数のルートを処理することも可能です。
@app.route("/hello")
@app.route("/hi")
def say_hello():
return "Hello!"
この例では、`/hello`と`/hi`の両方のURLで同じビュー関数`say_hello`が呼ばれます。
まとめ
Flaskでのルーティング設定は非常に直感的で、多くのカスタマイズも可能です。初心者からプロフェッショナルまで、幅広いニーズに対応できるのがFlaskの魅力です。
コメント