2
私のフラスコアプリケーションでのルーティングの問題に直面しています。ルートはそうFlaskアプリケーションでのルーティング
@app.route("/<lang>/books/<name>.html")
def func1(lang="en", name="")
pass
@app.route("/<lang>/books/index.html")
def func2(lang="en"):
pass
以下のように定義される
URLが/en/books/index.htmlように要求された場合、 - それは第2機能にルーティングする必要がありますが、フラスコルートこれは、最初に機能します。
なぜそうですか?上記のfunc2をfunc1に置き、同じ問題に直面してコードの順序を変更しました。解決方法を知ることができますか?
はい、私はすでにそれを実装したと考えましたが、これは正しいものではありません。ルートのエンドポイントが一般的なルートよりも具体的なので、別の機能にルーティングすることはできません。 –
@RinsenS、なぜ正しいものはありませんか? –
@IronFistです。なぜなら、私は2番目の関数内で追加のチェックを行い、最初の関数を呼びたくないからです。 @ app.route( "/ category/index.html")@ app.route( "//books/.html") - この場合、私は名前だけをチェックするべきではありません== "index"、func1を実行してインデックス関数を呼び出さないようにする –