2011-04-21 87 views
3

我目前正在爲我的項目構建儀表板,我希望管理員或超級用戶能夠查看迄今爲止關閉的所有操作,有點像活動日誌。在模板上顯示Django管理員操作

例如:

用戶A已經創建了一個新的項目對象

有什麼辦法拉Django管理行動,並把它們放在一個模板(我dashboard.html)?

如果任何人至少可以指出我正確的方向,這將是一個很大的幫助。

感謝,

史蒂夫

+0

[AuditTrail(夾具導入簡單補丁)](https://github.com/LaundroMat/django-AuditTrail/network)可能是一個很好的起點? – LaundroMat 2011-04-21 16:14:26

回答

2

網址:

(r'^dashboard$', 'dashboard_view'), 

查看:

from django.contrib.admin.models import LogEntry 
def dashboard_view(request): 
    log = LogEntry.objects.select_related().all().order_by("id") 
    return render_to_response("app_name/dashboard.html", {'log': log},) 

模板:

{% for l in log %} 
<p> 
    {{ l.id }} {{ l.user.username }} {{ l.change_message }} 
</p> 

{% endfor %} 

有一個擴展django-reversion它允許跟蹤對模型所做的所有更改,而不僅僅是管理界面中的操作。它還允許將模型回滾到任何時間點。

+0

非常感謝Alex。我注意到日誌只顯示管理員端的變化,你知道有什麼方法可以擴展到什麼時候改變客戶端? – TheLifeOfSteve 2011-04-21 18:59:30

+1

我認爲你的問題可以通過django-reversion來解決(http://goo.gl/sefPv)。它將允許您跟蹤對模型所做的所有更改。 – 2011-04-22 00:53:23

+0

謝謝Alex,我肯定會研究這個。 – TheLifeOfSteve 2011-04-25 16:23:47