17

Djangoadminにレポートセクションを実装したい。これは、管理者のホームページにカスタムセクションを追加することを意味し、モデルのリストの代わりにレポートのリストが表示されます。Djangoの管理テーブルをフィルター、並べ替え、可能であればすべてで使用したいと思います。

これを達成するための「最良の」方法は何でしょうか?これは「大きな」質問であることに気付いたので、必ずしもコードスニペットを要求しているわけではありません。必要なアクションの要約で十分です:)

PS Be report私は、カスタムクエリ(クエリセットまたはその呼び出し方法)による「構成された」モデルを意味します。

PS2たぶんこの質問は次のようなものになるはずです:独自の管理ビューでDjango管理テーブル機能を使用するにはどうすればよいですか?

PS3または、既存の管理インターフェースに自分のデータを提供する方法があるかもしれません。このように私は他に何もする必要はありません。モデルの代わりに、このデータを取得して、並べ替えやフィルタリングなどができる素敵なテーブルに表示したいと思います。

4

2 に答える 2

13

So you are attempting to add in new pages into the django admin.

This section explains to you exactly how you can do so - https://docs.djangoproject.com/en/dev/ref/contrib/admin/#adding-views-to-admin-sites

The basic idea is to add in new urls that you want in your urls.py as if you are adding urls for your "front end" pages. The key difference is that these new urls you are adding should start with ^admin/ and would look something like ^admin/my_special_link_in_admin and this url will point to your own custom view function at a location you so prefer.

E.g.

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

So this is the way for complete customization. There's a very good tutorial which I refer to here - http://brandonkonkle.com/blog/2010/oct/4/django-admin-customization-examples/

In addition, if you don't want to do too much work, consider using Django Admin Plus - https://github.com/jsocol/django-adminplus

Or a django-admin-views - https://github.com/frankwiles/django-admin-views

于 2012-11-03T15:35:50.247 に答える
4

Additionally, there is this nice app:

django-admin-reports

"admin_reports" is a Django application to easily create data aggregation reports to display inside Django admin.

The Django admin is very much centered on models and it provide a quick and simple way to create a GUI for the CRUD interface, but often there's the need to display data in an aggregate form, here's where admin_reports comes handy.

The idea is to have a class similar to ModelAdmin (from django.contrib.admin) that allow to display derived data concentrating on implementing the aggregation procedure.

于 2017-03-09T09:39:35.560 に答える