2011-02-12 52 views
3

我想知道......管理員界面的激進使用

是否有可能在Django中創建一個完全獨立於模型或應用程序的管理頁面?

我在想像一個控制面板或控制界面,只從其他模型收集數據,但沒有它自己的。

如果是這樣,任何進一步的參考或鏈接?

謝謝

回答

2

完全可以這樣做。你可以用常規視圖做到這一點,然後創建一個擴展爲「admin/base_site.html」模板,像這樣的模板:

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

你也可以做麪包是這樣的:

{% block breadcrumbs %}{% if not is_popup %} 
    <div class="breadcrumbs"> 
     <a href="/admin/">Home</a> &rsaquo; 
     <a href="/admin/yourpath/">Up One Level</a> &rsaquo; 
     You Are Here 
    </div> 
{% endif %}{% endblock %} 

然後把你想要的任何內容放在「內容」塊中。

3

正如Ben所說,您可以通過爲儀表板頁面創建視圖功能來實現此目的。視圖函數本身可以存在於你的項目中的任何地方,但是Django需要知道它在哪裏(即不同於Django的默認模型管理視圖,你需要在Django已知的urls.py文件中定義你的視圖)。

有一點要補充,因爲我假設這個儀表板頁面只能通過管理界面訪問,所以你想用一些內置的驗證裝飾器(例如login_requiredpermission_required)來保護它。

+0

我有一個`staff_only`裝飾器,它基於`user_passes_test`(並檢查`user.is_staff`),我用於此目的。 – 2011-02-12 08:34:09

2

我使用django-admin-tools來創建儀表板。使用此應用程序創建自定義儀表板模塊非常簡單。

還有另一個應用程序(nexus)具有類似的目的。我沒有嘗試過,但它看起來也不錯。

1

Nexus看起來是正確的。 我使用它我自己和它非常有用。 至於哇,沒有很多moudles availale,只有兩個我認爲。 它是由人制造的背後Disqus

鏈接:Nexus

有打算如何添加自己的模塊添加的文檔。

希望這會有所幫助。