【发布时间】:2011-12-01 16:55:29
【问题描述】:
我正在构建一个包含几个主要部分的 web 应用程序。每个部分都有几个子部分。我有一个main_nav.html 文件,其中包含主要部分的导航。这将使用base.html 模板中的{% include ... %} 命令添加到基于HTML 的文件中。此外,我有几个子部分导航文件,每个文件都使用相同的{% include ... %} 命令添加到任何给定页面。
所有的导航栏都非常简单,只是带有<a href...> 标签的文本。
我想突出显示当前主要部分和当前子部分的链接。由于这个 webapp 相当大,我希望在不添加特定页面信息的情况下以某种方式做到这一点。另外,我希望它只是“工作”,因为 web 应用程序扩展为包含更多部分和子部分。例如,这可以通过查看实际使用的 URL 来完成吗?我希望把它放在导航文件本身中,而不必在每个 django 视图中加载一些变量或任何东西。
例如,导航看起来像这样:
(main ->) [Systems][Invoices][Work Orders][Admin]
(system sub-nav ->) [Owner][Billing][Contacts]
所以如果我在Systems 的Billing 部分,我希望链接Systems 加粗,链接Billing 加粗(或其他一些简单的突出显示)
或者:
(main ->) [Systems][Invoices][Work Orders][Admin]
(Work-Orders sub-nav ->) [Create New][Outstanding]
如果我在Work Orders 的Outstanding 部分,则需要突出显示链接Work Orders 和链接Outstanding。
有什么想法吗?
【问题讨论】:
-
有一个中间件可以做到这一点,而且很容易插入...查看 django sn-ps 站点
-
也可以考虑这个github.com/hellysmile/django-activeurl(django 3 的分支:github.com/timgates42/django-activeurl 效果很好)
标签: django navigation