【问题标题】:Showing Django Admin actions on template在模板上显示 Django Admin 操作
【发布时间】:2011-08-10 10:29:50
【问题描述】:

我目前正在为我的项目构建一个仪表板,我希望管理员或超级用户能够看到到目前为止所有已关闭的操作,有点像活动日志。

例如:

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

有什么方法可以提取 django 管理操作并将它们放在模板上(我的dashboard.html)?

如果有人至少可以为我指出正确的方向,那将是一个很大的帮助。

谢谢,

史蒂夫

【问题讨论】:

标签: python django django-admin django-templates


【解决方案1】:

网址:

(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 它允许跟踪对模型所做的所有更改,而不仅仅是管理界面中的操作。它还允许将模型回滚到任何时间点。

【讨论】:

  • 非常感谢亚历克斯。我注意到日志只显示管理端更改,您知道有什么方法可以将其扩展到客户端更改某些内容吗?
  • 我认为你的问题可以通过 django-reversion (goo.gl/sefPv) 来解决。它将允许您跟踪对模型所做的所有更改。
  • 谢谢你,亚历克斯,我一定会调查的。
猜你喜欢
  • 2018-12-12
  • 2017-09-14
  • 2011-04-23
  • 2016-09-16
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-23
相关资源
最近更新 更多