|
Table of contents
|
В поставке Django поставляется набор инструментов для настройки встроенных шаблонов интерфейса администратора, которые мы кратко рассмотрим, но для остальных задач (таких как порядок работы с интерфейсом или гранулированность прав доступа), вам потребуется прочитать раздел «Создание своих представлений». Сейчас давайте рассмотрим несколько быстрых способов настройки вида (и, частично, поведения) интерфейса администратора. В главе «Интерфейс администратора Django» описано несколько наиболее общих задач: «ребрендинг» интерфейса (для тех островолосых боссов, которые ненавидят голубой цвет) и реализация собственных форм. Далее появляется цель, для которой надо изменить шаблоны для определённого элемента. Каждое представление интерфейса администратора — списки изменений, формы редактирования, страницы подтверждения операции удаления и страницы с историей — имеет ассоциированный шаблон, который может быть переопределён рядом способов. Первый способ — можно переопределить шаблон глобально. Представление ищет шаблон, используя стандартный механизм загрузки шаблонов, таким образом, если вы создадите шаблоны в одном из ваших шаблонных каталогов, Django подгрузит их вместо стандартных. Эти глобальные шаблоны перечислены в таблице «Глобальные шаблоны интерфейса администратора»: Таблица 17.1. Глобальные шаблоны интерфейса администратора
Однако большую часть времени вам будет требоваться изменить шаблон для единственного объекта или приложения, т.е., не глобально. Следовательно, каждое представление сначала ищет специфичные для модели или приложения шаблоны. Эти представления производят поиск в таком порядке:
Например, представление формы редактирования для модели
Большую часть времени вы будете использовать первый вариант для переопределения шаблона для отдельной модели. Это лучше всего делать через расширение базового шаблона и добавления информации в один из блоков, определённых в этом шаблоне. Например, нам требуется добавить небольшой текст помощи наверх страница с книгами. Это может выглядеть так как показано на рисунке «Изменённая форма редактирования»:
Это очень легко сделать — просто создайте шаблон с
именем
{% extends "admin/change_form.html" %}
{% block form_top %}
<p>Insert meaningful help message here...</p>
{% endblock %}
Все эти шаблоны определяют ряд блоков, которые вы можете
переопределять. Как и в случае с большинством программ, лучшей
документацией является код, мы рекомендуем вам просмотреть
шаблоны административного интерфейса (они находятся в
Чаще всего изменения в шаблоны отдельных моделей вносят для того, чтобы добавить свой JavaScript на страницу — возможно, для реализации специализированного элемента или для выполнения какой-то работы на стороне клиента. К счастью, это тоже не сложно. Каждый шаблон интерфейса администратора определяет {% block extrahead %}, который вы можете использовать для внедрения дополнительной информации в элемент <head>. Например, если вам требуется подключить библиотеку jQuery к странице с историей, делайте так: {% extends "admin/object_history.html" %}
{% block extrahead %}
<script src="http://media.example.com/javascript/jquery.js"
type="text/javascript"></script>
<script type="text/javascript">
// code to actually use jQuery here...
</script>
{% endblock %}
ЗамечаниеМы не знаем зачем вам понадобилась jQuery на странице с историей, но данный пример можно применить к любому шаблону интерфейса администратора.
Вы можете использовать этот подход для подключения любых JavaScript элементов, которые могут вам понадобится. |
Found misprint?
Select it with the mouse and hit Enter
-
Processed:
33
1
199
25
The full repository of DjangoBook translation you can get on GitHub.
We appreciate your patches!
We are glad to hear your questions, comments or suggestions!
(Open in new tab)
Users number: 601
Русская группа
Ускорить процесс перевода!
ЯМ:41001223475816
|
| © 2008-2012 Ruslan Popov @ gmail.com | Powered by Django 1.2.5 |