1

Flask は 0.10 で次の変更を導入しました。

  • 既に使用されているエンドポイントに新しい関数を登録しようとすると、Flask でエラーが発生するようになりました。

ホームページで次のコードを使用しました。

# ...
# ...
# some endpoints registered there 

@theApp.route("/<path:filename>")
def static(filename):
    if (os.path.isfile("templates/" + filename)):
        return render_template(filename)
    elif (os.path.isfile("static/" + filename)):
        return theApp.send_static_file(filename)
    else:
        return (render_template("404.html"), 404)

このハンドラーは、静的またはテンプレートに関係なく、存在するすべてを処理するために使用されます。これで、起動時に例外が発生します。あまりにも詳細なハンドラーを登録せずに例外を回避するにはどうすればよいですか?

4

1 に答える 1

4

に渡さない場合endpointrouteデフォルトでは、エンドポイントは装飾された関数名です。staticFlask には、静的ディレクトリからファイルを提供するために使用されるエンドポイントが既にあります。endpoint='mystatic'関数の名前を変更するか、routeデコレータに渡すと修正されます。

URL ルート登録

于 2013-06-15T09:59:40.070 に答える