2014-10-22 6 views
1

내가 관리 템플릿을 무시하고 나는 이런 일이 :Django 관리자 페이지를 재정의하는 방법은 무엇입니까?

{% for app in app_list %} 
    <li> 
     <a href="#"> 
      <img src="{{ MEDIA_URL }}images/list.png"/> 
      <span>{{ app.name }}</span> 
     </a> 
     <ul class="drawer" style="display: none;"> 
      {% for model in app.models %} 
       <li> 
        <a href="{{ model.admin_url }}"> 
         <span>{{ model.name }}</span> 
        </a> 
       </li> 
      {% endfor %} 
     </ul> 
    </li> 
{% endfor %} 

을하지만 그것은 단지 인덱스 페이지에 나에게 메뉴를 보여줍니다. 각 관리 페이지에서 app_list를 얻는 방법은 무엇입니까?

+0

당신은 각각 무엇을 의미합니까 관리자 페이지? 당신이 원하는 것과 당신이 가지고있는 것에 대해 더 자세한 정보를 줄 수 있습니까? –

+0

예를 들어, edit/add new object 페이지 또는 change_list 페이지에서 app_list에서 생성 된 메뉴를 표시하고 싶습니다 - 항상 – Nips

+0

유일한 해결책은 모든 페이지가 그것으로부터 확장되기 때문에'base_site.html'을 수정하는 것입니다.'{% extends " admin/base_site.html "%}'을 입력하고 원하는 것을 포함하십시오! –

답변

0

나는 모든 페이지가 {% extends "admin/base_site.html" %}에서 확장되고 원하는 것을 포함하므로 base_site.html을 수정하는 것이 유일한 해결책이라고 생각합니다! 관리자 폴더를 만들고 수정 된 base_site.html을 넣어야합니다. django가 템플릿 디렉토리를 올바르게로드하는지 확인해야합니다. 자세한 내용은 question (django-override-admin-template)을 참조하십시오.

0

난 당신이 {% 블록 탐색 - 글로벌 %}로 코드를 이동할 수 있다고 생각 {%는 엔드 블록 %} 예, 템플릿 파일, 뭔가 같은 :

{% block nav-global %} 
    {% for app in app_list %} 
     <li> 
      <a href="#"> 
       <img src="{{ MEDIA_URL }}images/list.png"/> 
       <span>{{ app.name }}</span> 
      </a> 
      <ul class="drawer" style="display: none;"> 
       {% for model in app.models %} 
        <li> 
         <a href="{{ model.admin_url }}"> 
          <span>{{ model.name }}</span> 
         </a> 
        </li> 
       {% endfor %} 
      </ul> 
     </li> 
    {% endfor %} 
{% endblock %} 
{% block content %} 
...... 
{% endblock %} 
관련 문제