我想知道......管理員界面的激進使用
是否有可能在Django中創建一個完全獨立於模型或應用程序的管理頁面?
我在想像一個控制面板或控制界面,只從其他模型收集數據,但沒有它自己的。
如果是這樣,任何進一步的參考或鏈接?
謝謝
我想知道......管理員界面的激進使用
是否有可能在Django中創建一個完全獨立於模型或應用程序的管理頁面?
我在想像一個控制面板或控制界面,只從其他模型收集數據,但沒有它自己的。
如果是這樣,任何進一步的參考或鏈接?
謝謝
完全可以這樣做。你可以用常規視圖做到這一點,然後創建一個擴展爲「admin/base_site.html」模板,像這樣的模板:
{% extends "admin/base_site.html" %}
你也可以做麪包是這樣的:
{% block breadcrumbs %}{% if not is_popup %}
<div class="breadcrumbs">
<a href="/admin/">Home</a> ›
<a href="/admin/yourpath/">Up One Level</a> ›
You Are Here
</div>
{% endif %}{% endblock %}
然後把你想要的任何內容放在「內容」塊中。
正如Ben所說,您可以通過爲儀表板頁面創建視圖功能來實現此目的。視圖函數本身可以存在於你的項目中的任何地方,但是Django需要知道它在哪裏(即不同於Django的默認模型管理視圖,你需要在Django已知的urls.py
文件中定義你的視圖)。
有一點要補充,因爲我假設這個儀表板頁面只能通過管理界面訪問,所以你想用一些內置的驗證裝飾器(例如login_required或permission_required)來保護它。
我使用django-admin-tools來創建儀表板。使用此應用程序創建自定義儀表板模塊非常簡單。
還有另一個應用程序(nexus)具有類似的目的。我沒有嘗試過,但它看起來也不錯。
我有一個`staff_only`裝飾器,它基於`user_passes_test`(並檢查`user.is_staff`),我用於此目的。 – 2011-02-12 08:34:09