Django - рендеринг многих шаблонов с использованием тегов шаблонов очень медленный

Скажем, у меня есть страница с фотогалереей. На каждой миниатюре есть, например, фото, страна, автор и тд. Я визуализирую эти элементы / виджеты с помощью тегов шаблонов (которые загружают указанные шаблоны) - так происходит из-за DRY (я использую эти элементы / виджеты отдельно в разных местах на странице).

И это очень медленно.

Я выполнил профилирование с помощью django-debug-toolbar:

SQL Queries: default 84.81 ms (147 queries)

Но:

Total CPU time: 5768.360 msec

Это слишком долго, чтобы ждать.

После некоторого анализа выяснилось, что главный виновник - это шаблонизатор.

Когда я хочу отобразить, например, 150 фотографий, 600 связанных элементов / виджетов обрабатываются с помощью шаблонов. Это означает 600 операций ввода-вывода или даже больше. Перемещение этих виджетов в основной шаблон решает проблему, но не сохраняет СУХОЙ.

Итак, мой вопрос: как можно избежать такого поведения? Быть СУХИМ и медленным или не СУХИМ и быстрым? Я бы предпочел быть СУХИМ и быстрым ...

15
задан laszchamachla 7 February 2012 в 19:39
поделиться