1. ホーム
  2. python

Flask: 現在のルートを取得

2023-10-31 20:50:20

質問

Flaskで、同じ関数に複数のルートがある場合。 どのルートが使われているのかを知るにはどうしたらよいでしょうか?

例えば

@app.route("/antitop/")
@app.route("/top/")
@requires_auth
def show_top():
    ....

今のルートが呼び出されたことを知るには /top/ または /antitop/ ?

アップデイト

私が知っているのは request.path リクエストはかなり複雑で、ルーティングロジックを関数の中で繰り返したいので、私はそれを使用したくありません。私は url_rule を使ったソリューションがベストだと思います。

どのように解決するのですか?

どのルートでビューがトリガーされたかを確認する最も'派手な'方法は、次のとおりです。 request.url_rule .

from flask import request

rule = request.url_rule

if 'antitop' in rule.rule:
    # request by '/antitop'

elif 'top' in rule.rule:
    # request by '/top'