Шаблонизатор

Матеріал з NoDeny
Версія від 15:13, 14 лютого 2019, створена Sv (обговорення | внесок) (Новая страница: «Шаблонизатор NoDeny во многом повторяет синтаксис стандартного django шаблонизатора, но есть…»)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Шаблонизатор NoDeny во многом повторяет синтаксис стандартного django шаблонизатора, но есть небольшие отличия.

Импорт файла

{% include 'test.html' %}

Будет загружен файл /usr/local/nodeny/web/tmpl/test.html

Например:

Привет! Содержимое файла test.html:
{% include 'test.html' %}
Ясно?

Если в разделе документов будет существовать документ с тегом template=test - файл test.html не будет загружаться с диска, а будет взят из данного документа. Естественно, также должен присутствовать тег system для защиты от подмены шаблона персоналом без суперпривилегий.

Если необходимо наследовать шаблон по типу extend в фреймворке django, также необходимо воспользоваться командой include, а блок(и), которые необходимо вставить в "верхний" шаблон, нужно обернуть в global_block. Например. Шаблон test_base:

<html>
   <boby>
        {{ template::test_base.body }}
   </body>
</html>

Шаблон show_info:

{% include 'test_base.html' %}

{% global_block template::test_base.body %}
   Есть интересная информация
{% endblock %}

При рендеринге шаблона show_info.html будет загружен шаблон test_base.html и в него будет вставлен фрагмент "Есть интересная информация"