Хостинг Django от «Джино»
Table of contents

Глава 10. Расширения для шаблонной системы

Данная глава временно взята из первой версии книги и подлежит корректировке. Вы можете помочь с этим!

Перевод © Попов Руслан <radz • yandex • ru>

Несмотря на то, что большинство случаев взаимодействия с шаблонной системой Django у вас будет в качестве дизайнера шаблонов, вы можете пожелать настроить под себя или расширить возможности шаблонной системы.

В этой главе мы глубоко копнём внутренности шаблонной системы Django. В ней вы узнаете всё, что вам потребуется, если вы планируете расширить систему или вам просто любопытно узнать как она работает.

Если вы рассматриваете возможность использования шаблонной системы Django в другом приложении (т.е., без остальной части среды разработки), прочитайте раздел «Работа в автономном режиме» этой главы.

Обзор языка шаблонов

Сначала давайте быстро рассмотрим ряд терминов, введённых в главе «Шаблоны»:

  • Шаблоном называется текстовый документ или обычная строка языка Python, которая помечена с помощью шаблонного языка Django. Шаблон может содержать блочные теги и переменные.

  • Блочным тегом называют символ внутри шаблона, который производит какое-то действие. Это определение умышленно сделано неясным. Например, блочный тег может производить контент, работать как управляющая структура (как оператор if или loop), получать информацию из базы данных или разрешать доступ к другим шаблонным тегам.

    Блочные теги указываются внутри {% и %}:

    {% if is_logged_in %}
      Спасибо за аутентификацию!
    {% else %}
      Пожалуйста, назовите себя.
    {% endif %}
    

  • Переменной называют символ внутри шаблона, который выводит значение.

    Переменные указываются внутри {{ и }}:

    Меня зовут {{ first_name }} {{ last_name }}.
    

  • Контекстом называют соответствие имя - переменная (аналогичное словарю языка Python), которое передаётся в шаблон.

  • Шаблон обрабатывает контекст, заменяя переменные значениями из этого контекста и исполняя все блочные теги.

Остальная часть данной главы рассказывает о методах расширения функциональности системы шаблонов. Хотя, давайте сначала быстро пробежимся по особенностям шаблонной системы, которые были опущены ранее для простоты изложения.


Ищем Python программистов

Found misprint?
Select it with the mouse and hit Enter
Ctrl-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