1

多数のアプリケーションを備えたサイトがあり、それぞれがサイドバーにセクションを提供しています。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?)テンプレートを使用し、それに応じてアイテムを変更することです。
4

1 に答える 1

2

{% sidebar_snippets appname %}現在のアプリ名を引数として取るカスタムテンプレートタグを記述します。次に、sidebar_snippetsを実装するPythonで、好きなようにピースを並べ替えることができます。

于 2012-07-02T12:43:10.357 に答える