如何从URL规则中过滤蓝图URL?

时间:2019-05-27 16:56:24

标签: flask

我要创建网站菜单,并允许管理员从flask-admin的已知URL中进行选择,我有主要的蓝图,并且它具有一些终结点,我要使函数能够返回菜单模型的已知终结点,以便管理员选择正确的网址并将其与数据一起打包。

我已经尝试过app.url_map.iter_rules()中的规则循环:

@app.route("/site-map")
def site_map():
    links = []
    for rule in app.url_map.iter_rules():
        # Filter out rules we can't navigate to in a browser
        # and rules that require parameters

        if "GET" in rule.methods and has_no_empty_params(rule):
            url = url_for(rule.endpoint, **(rule.defaults or {}))
        links.append(rule.endpoint)

    return render_template("all_links.html", links=links)

但是上面的代码也为我提供了烧瓶管理的所有途径

1 个答案:

答案 0 :(得分:0)

只需添加其他测试即可过滤出admin.的端点:

if "GET" in rule.methods \
  and has_no_empty_params(rule) \
  and not rule.endpoint.startswith("admin."):
    # Add link to list of links