Переопределение администратора Django change_list_results.html только для некоторых моделей - PullRequest
5 голосов
/ 08 мая 2011

Я хочу переопределить шаблоны templates / admin / change_list_results.html и templates / admin / change_list.html только для одной из моих моделей.Как мне сказать администратору, чтобы он отличал эту модель от всех остальных в моем приложении и отображал шаблон изменений, отличный от используемого по умолчанию?Если я просто отредактирую change_list_results.html, то все модели в представлениях администратора будут отражать мои изменения.

Ответы [ 2 ]

3 голосов
/ 09 мая 2011

Вы можете посмотреть документацию здесь .

Короткая версия - вам нужен собственный шаблон на admin/your-app-name/your-model-name/change_list.html в вашем пути к шаблону. Он может быть в приложении или в корневом каталоге шаблонов.

Единственный улов заключается в том, что Django должен найти его, прежде чем найдет «admin / change_list.html» по умолчанию в django.contrib.admin. Если оно находится в приложении, убедитесь, что оно указано в списке до django.contrib.admin в INSTALLED_APPS. Я обычно просто помещаю переопределения шаблонов администратора в мою корневую папку шаблонов, так как она загружается раньше приложений.

2 голосов
/ 05 сентября 2013

IMHO не будет работать, потому что change_list_results.html вызывается из template_tag -> result_list.

https://github.com/django/django/blob/master/django/contrib/admin/templates/admin/change_list.html#L91

https://github.com/django/django/blob/65cf82bd08631a7aa8d9dd007b2527476fa3304f/django/contrib/admin/templatetags/admin_list.py#L288

Я хочу посмотреть, что произойдет, если вы переопределите или пропустите этот шаблон тега.Но порядок импорта играет большую роль в этом.

...