flask - 如何从 url 规则中过滤蓝图 url?
问题描述
我想制作网站菜单并允许管理员从flask-admin中的已知url中选择我有主蓝图并且它有一些端点,我想制作一个函数,它将返回菜单模型的已知端点供管理员选择正确的url和用数据打包它。
我在 app.url_map.iter_rules() 中尝试了 for 循环规则:
@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)
但是上面的代码也给了我烧瓶管理员的所有路线
解决方案
只需添加一个额外的测试来过滤掉端点admin.
:
if "GET" in rule.methods \
and has_no_empty_params(rule) \
and not rule.endpoint.startswith("admin."):
# Add link to list of links
推荐阅读
- r - 如何重塑数据以在 R 中创建多个变量的箱线图方面
- node.js - 如何从同一 Firebase 项目之外的 Web 应用程序查询 Firestore 数据库
- css - 添加填充而不影响其他菜单项
- excel - 如何将多列中的数据合并到一个列组中
- haskell - Haskell - 字符递归列表
- javascript - 如何遍历对象数组并将键值作为字符串的一部分返回
- php - HTTP响应内容解析
- javascript - 我怎样才能到达数组内的对象,mylist = [{whole:'thing',code:'a'},{whole:'thing2',code:'b'}]
- javascript - Async\Await with promise 无法正常工作
- php - 警告:http_build_query():参数 1 应为数组或对象 whm api