2016-12-01 45 views
0

我想將鏈接添加到管理員,它列出了模型的索引頁,但我不希望創建一個新的模式。這將是一個自定義的視圖。添加「假」的模式進入管理指數

這是我想要的結果。在這種情況下,排行榜應指向/管理/排行榜代碼用戶是有效的型號。

desired result

我試圖重寫index.html頁面,根據to the documentation,使用以下模板。

{% extends "admin/index.html" %} 

{% block content %} 

    {{ block.super }} 

    <div class="app-{{ app.app_label }} module"> 
    <table> 
     <tr> 
      <th scope="row"><a href="leaderboards">Leaderboards</a></th> 
      <td></td> 

     </tr> 
    </table> 
    </div> 

{% endblock %} 

不過這是結果:

my approach

我知道我可以代替全index.html,然後硬編碼特定行有,但很多人不建議。有其他選擇嗎?

https://docs.djangoproject.com/en/1.10/ref/contrib/admin/#django.contrib.admin.AdminSite.index_template

回答

1

的Django actually recommends複製 - 粘貼的index.html到應用程序文件夾,硬編碼的鏈接。

在類似的說明中,您可能想要自定義Django管理索引頁面的外觀和風格。

默認情況下,它顯示在INSTALLED_APPS已 與管理應用程序註冊,按字母順序排列的所有應用程序。您可能想要對佈局進行重大更改。畢竟,索引 可能是管理員最重要的頁面,應該是 易於使用。

模板定製是管理員/ index.html的。 (做同樣與上一節中 管理/ base_site.html - 從 默認目錄複製到您的自定義模板目錄)。編輯文件 ,您會看到它使用名爲app_list的模板變量。 變量包含每個安裝的Django應用程序。而不是使用它, 你可以以任何你認爲最好的 的方式硬編碼鏈接到對象特定的管理頁面。

+0

這就是答案。 –