|
Оглавление
|
В поставке 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 элементов, которые могут вам понадобится. |
Увидели ошибку?
Выделите её мышкой и нажмите
-
Обработано:
1049
49
130
71
Версия книги
1.0
2.0
Версия 2.0 в процессе перевода!
Мой луч
Многообразие света
Полезное
Актуальные вакансии,
Python работа
для python-разработчиков.
Скачать в формате
CHM от 2 сентябряЗаказать PDF файл можно через почту, чат, джаббер. Всего 2WMZ. Содержимое точно соответствует содержимому сайта. Чем чаще заказываете — тем больше перевожу. Русская группа
Ускорить процесс перевода!
R130494980980
Z425285133788 E112528079659 U327380922061 Книга помогла реализовать:
|
| © 2008-2009 Ruslan Popov @ gmail.com | Powered by Django 1.1 beta 1 SVN-11114 |