在模板中显示Django Admin操作

3 投票
1 回答
1745 浏览
提问于 2025-04-16 16:11

我现在正在为我的项目搭建一个仪表盘,我希望管理员或者超级用户能够看到到目前为止所有的操作记录,类似于一个活动日志。

比如说:

用户A创建了一个新的项目对象。

有没有办法把Django管理后台的操作记录提取出来,并放到我的模板(dashboard.html)上呢?

如果有人能给我指个方向,那就太好了。

谢谢,

史蒂夫

1 个回答

3

网址:

(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,它可以帮助我们记录对模型所做的所有更改,不仅仅是管理界面中的操作。它还可以让我们把模型恢复到任何一个时间点。

撰写回答