I want to implement a report section in Django admin. This would mean adding a custom section in the admin homepage where instead of a list of models I would see a list of reports. I want to use Django’s admin tables with filters, sorting, everything if possible.
What would be the “best” way of achieving this? I realize this is a “big” question so I’m not asking for code snippets necessarily, a summary of needed actions would be just fine 🙂
P.S. Be report I mean a “made up” model by custom queries (queryset or how it’s called).
P.S.2 Maybe this question should be something like: How to use Django admin tables functionality in own admin view?
P.S.3 Or maybe there is a way of providing to the existing admin interface my own data. This way I don’t have to do anything else. I just want to say instead of a model take this data and display it in a nice table which I can sort, filter etc etc.
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.pyas 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_adminand this url will point to your own custom view function at a location you so prefer.E.g.
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