gpt4 book ai didi

Django - 根据当前页面突出显示导航?

转载 作者:行者123 更新时间:2023-11-28 19:35:19 27 4
gpt4 key购买 nike

我正在构建一个包含几个主要部分的网络应用程序。每个部分都有几个子部分。我有一个 main_nav.html保存主要部分导航的文件。这被添加到基础 HTML带有 {% include ... %} 的文件命令在 base.html模板。此外,我有几个子部分导航文件,每个文件都添加到具有相同 {% include ... %} 的任何给定页面。命令。

所有的导航条都非常简单,只有<a href...>的文本。标签。

我想突出显示当前主要部分和当前子部分的链接。由于此 Web 应用程序相当大,我希望以某种方式在不添加特定于页面的信息的情况下执行此操作。另外,我希望它在 webapp 扩展以包含更多部分和子部分时“工作”。例如,这是否可以通过查看实际使用的 URL 来完成?我希望将它放在导航文件本身中,而不必在每个 django View 中加载一些变量或任何内容。

因此,例如,导航看起来像这样:

(main ->)            [Systems][Invoices][Work Orders][Admin]
(system sub-nav ->) [Owner][Billing][Contacts]

所以如果我在 BillingSystems , 我想要链接 Systems粗体和链接 Billing大胆(或其他一些简单的突出显示)

或者:

(main ->)                 [Systems][Invoices][Work Orders][Admin]
(Work-Orders sub-nav ->) [Create New][Outstanding]

如果我在 OutstandingWork Orders , 链接 Work Orders和链接 Outstanding需要强调。

有什么想法吗?

最佳答案

假设您将 render_to_responseRequestContext 一起使用,或者使用 render 方法或 Django 1.3 的基于类的 View ,您将获得请求模板中可用的对象。从那里开始,只需访问当前路径并将其与预期值进行比较就很简单了:

<a href="/some/path/to/be/highlighted/"{% if request.path == '/some/path/to/be/highlighted/' %} class="active"{% endif %}>Some Link</a>

在 Django 1.3 中,我喜欢节省冗余并使用 as 运算符进行 URL 查找:

{% url 'some_urlpattern_name' as url %}
<a href="{{ url }}"{% if request.path == url %} class="active"{% endif %}>Some Link</a>

根据需要对每个链接重复。

关于Django - 根据当前页面突出显示导航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7665514/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com