Шаблонизатор
Шаблонизатор 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 и в него будет вставлен фрагмент "Есть интересная информация"