1

我有一个包含许多应用程序的站点,每个应用程序都在侧边栏上提供一个部分。假设一个应用程序是“公司”,提供公司管理(列表、添加、删除),一个是“员工”,允许员工管理。

“公司”提供了一个部分:

<div id="companies-sidebar">
  <ul>
    <li><a href="{% url 'company_add' %}">Add</a></li>
    <li><a href="{% url 'company_remove' %}">Remove</a></li>
    <li><a href="{% url 'company_list' %}">List</a></li>
  </ul>
</div>

“员工”也一样,employees_分别带有 URL。

我想根据应用程序在侧边栏部分订购两个片段。如果我在例如company_list(或..._removeadd)的视图中,那么companies_sidebar片段应该是第一个。如果我在对应的视图中employees_...,那么employees_sidebar应该是第一个。

问题是:如何在不使用可包含片段淹没模板的情况下做到这一点?

一些注意事项:

  • 我知道这不是一个正常的 UX 模式,其中项目会更改顺序。
  • 一种解决方案是为每个应用程序使用自定义(base.html?)模板,并相应地更改项目。
4

1 回答 1

2

编写一个自定义模板标签,{% sidebar_snippets appname %}将当前应用名称作为参数。然后在实现 sidebar_snippets 的 Python 中,您可以按照自己喜欢的方式排序。

于 2012-07-02T12:43:10.357 回答