我正在尝试构建所有网址及其各自的View或MethodView类的列表。每个视图可能有2个或更多网址。我不确定是通过从类末端开始还是通过url映射来完成此操作。我从类开始的问题是url_for只返回一个url,端点名称可能与类/方法名称不同。这是用于构建api文档,它似乎是url的键(对于最终用户)。
示例:
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。
答案 0 :(得分:2)
我想知道是否有:
rules = app.url_map._rules
for rule in rules:
print rule.endpoint, rule, rule.defaults
能为您提供所需的信息。您可以阅读更多信息in the Werkzeug documentation。
答案 1 :(得分:-1)
另一种方法是使用这样的东西。您可以将视图绑定到多个URL。
@app.route('/short/')
@app.route('/short/<bar>')
def dispatch_request(bar=None):
pass