2012-07-02 2 views
1

많은 응용 프로그램이있는 사이트가 있는데, 각 응용 프로그램은 사이드 바에 섹션을 제공합니다. 한 응용 프로그램이 회사 관리 (목록 추가, 제거)를 제공하는 "회사"이고 직원 중 하나가 직원 관리를 허용하는 "직원"이라고 가정 해 보겠습니다. 은 "직원"에 대한django에서 애플리케이션별로 스 니펫을 주문하려면 어떻게해야합니까?

<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 (또는 ..._remove 또는 add)이면 companies_sidebar 스 니펫이 가장 먼저 나와야합니다. employees_...에 해당하는보기에있는 경우 employees_sidebar이 가장 먼저 나와야합니다.

질문 : 포함 가능한 스 니펫으로 템플릿을 넘치게하지 않고 어떻게해야합니까?

일부 노트 :

  • 나는이 항목 순서를 변경 정상적인 UX 패턴 아니라는 것을 알고.
  • 한 가지 해결책은 각 앱에 대해 custom (base.html?) 템플릿을 사용하고 이에 따라 변경된 항목을 사용하는 것입니다.

답변

2

현재 앱 이름을 인수로 취하는 사용자 정의 템플릿 태그 {% sidebar_snippets appname %}을 작성하십시오. 그런 다음 sidebar_snippets를 구현하는 Python에서 원하는대로 조각을 주문할 수 있습니다.

+0

이 솔루션을 이용해 주셔서 감사합니다. 설치된 applciations를 통해 반복되는 루프가 포함되어 있으므로 결과가 캐시됩니까? –

+0

결과 HTML의 캐싱을 구현할 수 있습니다. –

+0

도전적 ... 나는 그것을 대신 할 것입니다. (아마도 쉼표로 구분 된 앱 목록 대신에 ... –

관련 문제