Flask蓝图列举路由

7

我有一个Flask应用程序,其目录结构如下:

root/
  - modules/
    __init__.py
    - common/
        __init__.py
    - citrixlb/
        __init__.py # blueprint code
        citrixlb.py # module class
    - aws/
        __init__.py # blueprint code
        aws.py      # module class

我希望知道,是否有一种方法可以动态列出所有蓝图的路由?

我在root/__init__.py中有以下内容:

# import our modules
from modules.citrixlb import *
from modules.aws import *

app.register_blueprint(aws)
app.register_blueprint(citrix)

如果我能动态列出所有蓝图的路由,我就可以自动生成链接。
示例:
下拉菜单:AWS
  • /aws

  • /aws/ec2

  • /aws/subnets


你看过这个吗:http://flask.pocoo.org/snippets/117/? - Esdes
@esdes 差不多了。谢谢。 - Simply Seth
1个回答

13
def get_bp_urls(blueprint):
    from flask import Flask
    temp_app = Flask(__name__) 
    temp_app.register_blueprint(blueprint)
    return [str(p) for p in temp_app.url_map.iter_rules()]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接