我想在Django admin中实现一个报告部分。这意味着在管理员主页中添加自定义部分,而不是模型列表,我会看到报告列表。我想使用Django的管理表与过滤器,排序,如果可能的话,一切。
实现这一目标的“最佳”方式是什么?我意识到这是一个“大”的问题所以我不是必须要求代码片段,所需操作的摘要会很好:)
附:报告我的意思是通过自定义查询(查询集或如何调用它)的“组合”模型。
P.S.2也许这个问题应该是这样的:如何在自己的管理视图中使用Django管理表功能?
P.S.3或者也许有一种方法可以向现有的管理界面提供我自己的数据。这样我就不必做任何其他事情了。我只是想说而不是一个模型拿这个数据并将它显示在一个很好的表中,我可以对它进行排序,过滤等等。
所以你试图在django管理员中添加新页面。
本节将向您详细说明如何执行此操作 - https://docs.djangoproject.com/en/dev/ref/contrib/admin/#adding-views-to-admin-sites
基本的想法是添加你想要的新网址 urls.py
好像您要为“前端”页面添加网址。关键的区别在于,您添加的这些新网址应该从一开始 ^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
此外,有这个不错的应用程序:
Django的管理的报告
“admin_reports”是一个Django应用程序,可以轻松创建数据聚合报告,以显示在Django admin中。
Django管理员非常关注模型,它提供了一种快速简单的方法来为CRUD界面创建GUI,但通常需要以聚合形式显示数据,这里admin_reports很方便。
这个想法是有一个类似的类 ModelAdmin
(从 django.contrib.admin
)允许显示专注于实现聚合过程的派生数据。