Question

I would like to create a custom index.html derived from the admin/index.html individual for each app in my django project.

For instance my folder structure is like:

  • app1
    • templates
      • index.html (different from the global template admin/index.html)
  • app2
  • templates
    • admin
      • base.html
      • index.html (global template index.html)

How can I achieve custom admin index.html files for my apps, that are recognized by django? For the moment only the index.html in the global template/admin folder is considered for rendering the index pages in my backend.

I'm using django 1.6

Était-ce utile?

La solution

Unfortunately, only certain parts of the Django admin site can be overridden on a per-app basis, as it says in the documentation:

Not every template in contrib/admin/templates/admin may be overridden per app or per model. The following can:

  • app_index.html
  • change_form.html
  • change_list.html
  • delete_confirmation.html
  • object_history.html

Remember that the admin interface is itself and app, so it's going to do a single template sweep and load the first set of templates that comes up.

I think your two best bets are either to use multiple admin sites in your project or to add a custom view for specific apps -- the former is probably easier, but will be a problem if you don't want people to have to login separately to control certain things.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top