1

我正在尝试构建所有 url 及其各自的 View 或 MethodView 类的列表。每个视图可能有 2 个或更多 url。我不确定是从课堂结束还是从 url 映射开始。我从类开始的问题是 url_for 只返回一个 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()

这里的目的是能够对模块执行自省并返回一个列表 Views 所有重定向到该 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 回答
-1

另一种方法是使用这样的东西。您可以将一个视图绑定到多个 URL。

@app.route('/short/')
@app.route('/short/<bar>')
def dispatch_request(bar=None):
    pass
于 2013-02-13T14:26:42.257 回答