2009-01-28 52 views
16

我正在尋找向我的自動生成的管理站點添加一組額外的頁面。我想從我的模型和圍繞它的一些日誌中生成報告。實際的生成不是問題。將報告添加到Django的管理員

我如何:

  1. 使報表輸出看起來這是一個管理頁面,麪包屑,類似的格式化的表格,等?
  2. 註冊視圖,使其顯示在首頁?
+2

費邊,就像我喜歡這個遊戲,這個問題已經完全無關的Python。 – Oli 2009-01-28 21:50:14

回答

6

以上回答沒有解決問題2,至少直接...了「黑客」的方式獲得您的自定義視圖展現出來作爲管理員的頭版可能是隻是覆蓋它的URL配置:

(r'^admin/$', my.custom.admin.homepage), 

正常管理前行:

(r'^admin/', admin.site.root), 

「正確」的方式d但是,它要讓管理員成爲AdminSite的自定義實例並覆蓋index_template設置。 http://docs.djangoproject.com/en/dev/ref/contrib/admin/#root-and-login-templates

+2

OP沒有要求自定義視圖顯示爲首頁,而是在首頁顯示。這更復雜,因爲它涉及到複製和修改管理索引模板。 – 2009-01-29 20:05:49

4

在生成管理員的外觀和感覺方面,繼承管理員的父頁面並將您自己的模板內容插入到相應的塊應該是微不足道的。

查看默認管理頁面中的標記(包括id和class屬性),並嘗試理解一致的樣式。如果你在頁面上包含管理CSS,你應該可以免費獲得很多。

欲瞭解更多信息,看看在管理文檔:http://docs.djangoproject.com/en/dev/ref/contrib/admin/

2

這裏有一個基本模板,讓你開始:

{% extends "admin/base_site.html" %} 
    {% load adminmedia %} 

    {% block extrahead %} 
    {% endblock %} 
    {% block coltype %}flex{% endblock %} 
    {% block bodyclass %}change-list{% endblock %} 
    {% block stylesheet %}{% admin_media_prefix %}css/changelists.css{% endblock %} 
    {% block extrastyle %} 
    <link rel="stylesheet" type="text/css" href="{{settings.MEDIA_URL}}/stylesheets/extra_admin.css" /> 
    {% endblock %} 
    {% block breadcrumbs %}<div class="breadcrumbs"><a href="/admin/">Home</a>&nbsp;&rsaquo;&nbsp;{{page_title}}</div>{% endblock %} 
    {% block content %} 
    <div id="content-main"> 
     <h1>{{page_title}}</h1> 
     {{page_content}} 
    </div> 
    {% endblock %}