如何在django中通过应用程序订购片段?

时间:2012-07-02 12:39:33

标签: python django templates

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

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

<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_个网址。

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

问题是:如果不使用包含内容的片段充斥模板,我该怎么做呢?

一些注意事项:

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

1 个答案:

答案 0 :(得分:2)

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