1

すべての URL とそれぞれの View クラスまたは MethodView クラスのリストを作成しようとしています。各ビューには 2 つ以上の URL が含まれる場合があります。クラスの最後から開始するか、URL マップから開始するかはわかりません。クラスを開始する際の私の問題は、url_for が 1 つの URL のみを返し、エンドポイント名がクラス/メソッド名と異なる可能性があることです。これは、URL にキー付けされていると思われる API ドキュメントを作成するためのものです (エンド ユーザー向け)。

例:

app = flask.Flask(__name__)

class Bar(View):

    def dispatch_request(self):
        pass
app.add_url_rule('/short/', view_func=Bar.as_view('bar'))
app.add_url_rule('/short/<bar>/', view_func=Bar.as_view('bar'))


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

ここでの目的は、モジュールでイントロスペクションを実行し、その View クラスまたは関数にリダイレクトされるすべての URL を表示するリストを取得できるようにすることです。

4

2 に答える 2

2

次のようなものかどうか疑問に思います:

rules = app.url_map._rules
for rule in rules:
    print rule.endpoint, rule, rule.defaults

必要な情報が得られます。詳細については、Werkzeug のドキュメントを参照してください。

于 2013-02-13T22:18:09.213 に答える