我有一个带有以下树的烧瓶应用程序:
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
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()]
如果有人正在寻找一个没有那么多代码的更短的解决方案。您只需运行命令
flask routes
您可以运行
flask --help
查看命令帮助,您可能会注意到在最终命令中您会看到 routes
,其中显示了应用程序的路线。
我希望这有帮助。
我在文档中查找是否可以获得此命令的描述,但我找不到它。这就是为什么我没有留下文档链接。