2014-10-22 152 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

你是什麼在每個意思管理頁面?你能提供更多關於你想要什麼和你有什麼的細節嗎? – 2014-10-22 08:09:40

+0

例如在編輯/添加新的對象頁面或在change_list頁面中,我想顯示從app_list生成的菜單 - 總是 – Nips 2014-10-22 08:13:36

+0

我認爲你唯一的解決方案是修改'base_site.html',因爲每個頁面從它延伸'{%extends「 admin/base_site.html「%}'幷包含你想要的! – 2014-10-22 08:16:40

回答

0

我認爲你唯一的解決辦法是修改base_site.html,因爲每個頁面都從它延伸{% extends "admin/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 %}