Посты с тэгом template


Повторное использование шаблонов


Лень — двигатель прогресса

Сегодня мы рассмотрим способ, позволяющий немного упростить себе жизнь при создании интерактивного сайта путем повторного использования шаблонов. Визуально результат будет примерно таким же, как при дублировании бизнес-логики в браузере, но ценой существенно меньших трудозатрат на разработку JavaScript-клиента, да и на серверной части тоже. Хотите узнать как это провернуть?

Небольшая ремарка, чтобы не было недопонимания из-за терминологии:

  • Шаблон (templa


Повторное использование шаблонов

Лень — двигатель прогресса

Сегодня мы рассмотрим способ, позволяющий немного упростить себе жизнь при создании интерактивного сайта путем повторного использования шаблонов. Визуально результат будет примерно таким же, как при дублировании бизнес-логики в браузере, но ценой существенно меньших трудозатрат на разработку JavaScript-клиента, да и на серверной части тоже. Хотите узнать как это провернуть?

Небольшая ремарка, чтобы не было недопонимания из-за терминологии:

  • Шаблон (template): HTML-документ с расширенным набором тегов, которые впоследствии используются для подстановки динамических данных.
  • Шаблонизатор (templating engine): библиотека, позволяющая на основе шаблона (использующего определенный синтаксис дополнительных тегов) и динамических данных получить итоговы


Повторное использование шаблонов

Лень - двигатель прогресса

Сегодня мы рассмотрим способ, позволяющий немного упростить себе жизнь при создании интерактивного сайта путем повторного использования шаблонов. Визуально результат будет примерно таким же, как при дублировании бизнес-логики в браузере, но ценой существенно меньших трудозатрат на разработку JavaScript-клиента, да и на серверной части тоже. Хотите узнать как это провернуть?

Небольшая ремарка, чтобы не было недопонимания из-за терминологии:

  • Шаблон(template) : HTML-документ с расширенным набором тегов, которые впоследствии используются для подстановки динамических данных.
  • Шаблонизатор(templating engine) : библиотека, позволяющая на основе шаблона (использующего определенный синтаксис дополнительных тегов) и динамических данных получить итого


Устанавливаем значение в context навсегда

Собственно что натолкнуло
Самого удивило что значение установленное из Node в context сохраняется в пределах одного блока.

{% extends 'test/base.html' %}

{% load foo %}

{% block content %}
{% set_bar_value %}
{{ bar_value }} == 'BAR'
{% endblock %}

{% block menu %}
{{ bar_value }} == ''
{% endblock %}



Залез в код, оказалось что значение устанавливается в словарь, который после выхода из блока удаляется. Как-то вот так:
Copy Source | Copy HTML
  1. class BlockNode(Node):
  2.     #....
  3.  
  4.     def render(self, context):