17

我想在 Django admin 中实现一个报告部分。这意味着在管理主页中添加一个自定义部分,而不是模型列表,我会看到报告列表。如果可能的话,我想将 Django 的管理表与过滤器、排序以及一切一起使用。

实现这一目标的“最佳”方式是什么?我意识到这是一个“大”问题,所以我不一定要求提供代码片段,所需操作的摘要就可以了 :)

PS报告我的意思是通过自定义查询(查询集或如何调用)“组成”模型。

PS2 也许这个问题应该是这样的:如何在自己的管理视图中使用 Django 管理表功能?

PS3 或者也许有一种方法可以向现有的管理界面提供我自己的数据。这样我就不用做任何其他事情了。我只想说不是模型,而是获取这些数据并将其显示在一个漂亮的表格中,我可以对其进行排序、过滤等。

4

2 回答 2

13

因此,您正在尝试将新页面添加到 django 管理员中。

本节向您准确解释如何做到这一点 - https://docs.djangoproject.com/en/dev/ref/contrib/admin/#adding-views-to-admin-sites

基本想法是添加您想要的新网址,urls.py就好像您正在为“前端”页面添加网址一样。主要区别在于您添加的这些新 url 应该以^admin/并且看起来像这样^admin/my_special_link_in_admin,并且这个 url 将指向您自己的自定义视图函数,位于您喜欢的位置。

例如

(r'^admin/my_special_link_in_admin/$', 'my_custom_admin_app.views.special_admin_page'),

所以这是完全定制的方式。我在这里参考了一个非常好的教程-http: //brandonkonkle.com/blog/2010/oct/4/django-admin-customization-examples/

另外,如果不想做太多工作,可以考虑使用 Django Admin Plus - https://github.com/jsocol/django-adminplus

或 django-admin-views - https://github.com/frankwiles/django-admin-views

于 2012-11-03T15:35:50.247 回答
4

此外,还有这个不错的应用程序:

django-admin-reports

“admin_reports”是一个 Django 应用程序,可以轻松创建数据聚合报告以显示在 Django admin 中。

Django 管理员非常关注模型,它提供了一种快速简单的方法来为 CRUD 界面创建 GUI,但通常需要以聚合形式显示数据,这就是 admin_reports 派上用场的地方。

这个想法是有一个类似于ModelAdmin(from django.contrib.admin) 的类,它允许显示集中于实现聚合过程的派生数据。

于 2017-03-09T09:39:35.560 回答