多数のアプリケーションを備えたサイトがあり、それぞれがサイドバーにセクションを提供しています。1つのアプリが会社の管理(リスト、追加、削除)を提供する「会社」であり、もう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があります。
アプリケーションに基づいて、サイドバーセクションの2つのスニペットを注文したいと思います。たとえばcompany_list
(または..._remove
またはadd
)のビューを表示している場合は、companies_sidebar
スニペットが最初になります。に対応するビューを表示している場合は、employees_...
がemployees_sidebar
最初になります。
問題は、テンプレートにインクルード可能なスニペットをあふれさせることなく、どうすればそれを実行できるかということです。
いくつかのメモ:
- これは、アイテムの順序が変わる通常のUXパターンではないことを私は知っています。
- 1つの解決策は、アプリごとにカスタム(base.html?)テンプレートを使用し、それに応じてアイテムを変更することです。