Двойная шаблонизация
в Django
или
Кеширование с помощью
шаблонов в Django
или даже
Многоуровневое
кеширование с посредством
каскадной шаблонизации
в Django
или
Как применить в хозяйстве:
{% templatetag openvariable %}
и
{% templatetag closevariable %}
а еще
{% templatetag openblock %}
и
{% templatetag closeblock %}
Двойная (каскадная) шаблонизация в Django
на всякий случай:
{% templatetag openblock %} → {%
{% templatetag closeblock %} → %}
{% templatetag openvariable %} → {{
{% templatetag closevariable %} → }}
Двойная (каскадная) шаблонизация в Django
Двойная (каскадная) шаблонизация в Django
Двойная (каскадная) шаблонизация в Django
3090 ms →
11 запросов
← 1024 ms
← 770 ms
django-debug-toolbar
почти не меняются
крайне редко
может быть меняются
но всем пофиг
раз в год, если повезёт
меняются иногда
from django.template.loader import render_to_string
import os
def view4report(request):
# простые, легкие и быстрые вычисления и запросы
data_light = 2*2 # |
Dim = {"DATA_LIGHT": data_light} # <--------+
if not os.path.isfile("C:/path_to_project/templates/LightTemplate.html"):
# сложные, тяжелые и медленные вычисления и запросы
data_hard = 3.1416926**3**4 # |
Dim.update({"DATA_HARD": data_hard}) # <------+
Result = render_to_string("HardTemplate.html", Dim)
file = open("C:/path_to_project/templates/LightTemplate.html", 'w')
file.write(Result.encode('utf-8'))
file.close()
response = render(request, "LightTemplate.html", Dim)
return response
<p>Часто обновляемые и «лёгкие» данные:<br/>
{% templatetag openvariable %} DATA_LIGHT {% templatetag closevariable %}</p>
<p>Редко обновляемые и «тяжёлые» данные:<br/>
{{ DATA_HARD }}</p>
<p>Часто обновляемые и «лёгкие» данные:<br/>
{{ DATA_LIGHT }}</p>
<p>Редко обновляемые и «тяжёлые» данные:<br/>
1.8631971713448156e+40</p>
LightTemplate.html
HardTemplate.html
525 ms →
4 запроса
django-debug-toolbar
Повторим:
{% templatetag openblock %} → {%
{% templatetag closeblock %} → %}
{% templatetag openvariable %} → {{
{% templatetag closevariable %} → }}
И помним про:
вложенные шаблоны
Двойная (каскадная) шаблонизация в Django
Сергей Ерёмин
оknardia.ru
erjemin @gmail.com
facebook.com/erjemin

More Related Content

PPTX
1000 миллисекунд из жизни Magento
PPT
Арсений Заречнев и Федор Шумов - Одностраничные приложения
PPTX
Async Javascript
PDF
#7 "Многообещающий JavaScript – Promises" Денис Речкунов
PPTX
Continuous monitoring
PDF
Как выглядит современный фронтенд
PDF
Архитектура растущего проекта, на примере ВКонтакте
PDF
FrontTalks: Алексей Андросов (Яндекс), «Ошибки, которые мы любим»
1000 миллисекунд из жизни Magento
Арсений Заречнев и Федор Шумов - Одностраничные приложения
Async Javascript
#7 "Многообещающий JavaScript – Promises" Денис Речкунов
Continuous monitoring
Как выглядит современный фронтенд
Архитектура растущего проекта, на примере ВКонтакте
FrontTalks: Алексей Андросов (Яндекс), «Ошибки, которые мы любим»

What's hot (18)

PDF
PostgreSQL Vacuum: Nine Circles of Hell
PDF
Алексей Фомкин, Практическое применение Web Workers
PDF
Арсений Заречнев и Федор Шумов - Одностраничные приложения
PDF
Филипп Ковалев — Путь в npm
PPTX
DDоS практическое руководство к выживанию (Александр Лямин)
PPT
Drupal Do
PDF
По-настоящему ВИЗУАЛЬНОЕ построение лендинг-страниц на WP Gutenberg!
PDF
Making Scalable JavaScript Application
PPTX
CodeFest 2014. Пугачев С. — Язык TypeScript или JavaScript на стероидах
PDF
Js templating stepan_reznikov
PPT
PDF
Внутреннее устройство и оптимизация бандла webpack
PDF
Суперсилы Chrome developer tools
ODP
Обработка ошибок и исключений
PDF
TARS: Сделай уровень frontend-рутины 0% — Артём Малко, 2ГИС
PDF
Систематизация экспрешнов в IE
PDF
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
PDF
Upgrade with 6 to 7. Denis Komel'kov
PostgreSQL Vacuum: Nine Circles of Hell
Алексей Фомкин, Практическое применение Web Workers
Арсений Заречнев и Федор Шумов - Одностраничные приложения
Филипп Ковалев — Путь в npm
DDоS практическое руководство к выживанию (Александр Лямин)
Drupal Do
По-настоящему ВИЗУАЛЬНОЕ построение лендинг-страниц на WP Gutenberg!
Making Scalable JavaScript Application
CodeFest 2014. Пугачев С. — Язык TypeScript или JavaScript на стероидах
Js templating stepan_reznikov
Внутреннее устройство и оптимизация бандла webpack
Суперсилы Chrome developer tools
Обработка ошибок и исключений
TARS: Сделай уровень frontend-рутины 0% — Артём Малко, 2ГИС
Систематизация экспрешнов в IE
CSS-в-JS, HTML-в-JS, ВСЁ-в-JS. Все гораздо проще, когда всё вокруг JavaScript
Upgrade with 6 to 7. Denis Komel'kov
Ad

Similar to Двойная (каскадная) шаблонизация в Django (20)

PDF
Павел Довгалюк, Обратная отладка
PDF
Степан Резников "Шаблонизация на клиенте"
PDF
View как чистая функция от состояния базы данных - Илья Беда, bro.agency
PPTX
JavaScript: хороший тон клиентской разработки
PPTX
Как мы документируем программные интерфейсы. YaC 2014
PDF
CodeFest 2014. Егоров В. — Что за… Dart?
PPT
Easy authcache 2 кэширование для pro. Родионов Игорь
PDF
Application deployment & configuration management
PDF
Оптимизация потребления памяти в Java - делаем уборку правильно
PPT
Easy authcache 2 кеширование для pro родионов игорь
PDF
2014 Jeeconf - Geb Spock
PDF
Семь тысяч Rps, один go
PDF
Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftware
PPTX
Web осень 2013 лекция 5
PDF
Изоморфный JavaScript (iForum 2015)
PPTX
DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)
 
KEY
Batch processing in rails
PDF
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...
PDF
OpenSource SQL Databases Enter Millions Queries per Second Era
PDF
Тестируй это / Виктор Русакович (GP Solutions)
Павел Довгалюк, Обратная отладка
Степан Резников "Шаблонизация на клиенте"
View как чистая функция от состояния базы данных - Илья Беда, bro.agency
JavaScript: хороший тон клиентской разработки
Как мы документируем программные интерфейсы. YaC 2014
CodeFest 2014. Егоров В. — Что за… Dart?
Easy authcache 2 кэширование для pro. Родионов Игорь
Application deployment & configuration management
Оптимизация потребления памяти в Java - делаем уборку правильно
Easy authcache 2 кеширование для pro родионов игорь
2014 Jeeconf - Geb Spock
Семь тысяч Rps, один go
Как сделать Instagram в браузере — Дмитрий Дудин, xbSoftware
Web осень 2013 лекция 5
Изоморфный JavaScript (iForum 2015)
DDоS: Практическое руководство к выживанию. (Часть 2: Работа над ошибками)
 
Batch processing in rails
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...
OpenSource SQL Databases Enter Millions Queries per Second Era
Тестируй это / Виктор Русакович (GP Solutions)
Ad

More from Sergei Erjemin (7)

PPT
«Окнардия» – маркетплейс-агрегатор пластиковых окон
PPT
RightBrain Trend Indicator graph of the Dow Jones Industrial (DJI) index, bas...
PPT
Right Brain Invest (startup project)
PPT
Тренды и приоритеты стартапов бизес-инкубатора wellSTART
PPT
Смешная идея для hh.ru на StartupWeekEnd (Moscow)
PDF
Spik 2010 Megaplan
PPT
CADpoint startup
«Окнардия» – маркетплейс-агрегатор пластиковых окон
RightBrain Trend Indicator graph of the Dow Jones Industrial (DJI) index, bas...
Right Brain Invest (startup project)
Тренды и приоритеты стартапов бизес-инкубатора wellSTART
Смешная идея для hh.ru на StartupWeekEnd (Moscow)
Spik 2010 Megaplan
CADpoint startup

Двойная (каскадная) шаблонизация в Django