我正在尝试根据代码中的设置自动更改菜单,因此我的模板中没有重复的逻辑。现在,我使用路径名称生成request.route_path(name)
的网址,并使用request.matched_route.name
确定用户当前页面的内容。我现在的问题是我希望在不同的视图上拥有不同的权限,并自动隐藏用户无权访问的菜单项。
主要困难之一是您可以为一条路线提供多个视图。但即使只有一个与路径相关的视图,我似乎找不到任何简单的方法来检索它。
我正在使用URL Dispatch。这是否只能通过遍历来实现?
答案 0 :(得分:0)
通常我会使用以下模式的组合:
_menu
,它是(menu_title, route_name, params)
的列表,其中params
是一个可选的现有字典。在模板中,我可以使用menu
属性,根据请求和上述属性构建菜单。has_permission
进行检查。这些想法可以帮助您开始动态解决方案。它对我来说很好,但它可能需要更多调整,例如,我根据当前路线将另一个值“激活”附加到生成的菜单。