Скажем, у меня есть страница с фотогалереей. Каждый эскиз имеет, например, фотография, страна, автор и т.д. Я переношу эти элементы/виджеты с помощью шаблонных тегов (которые загружают указанные шаблоны) - это происходит из-за DRY (я использую эти элементы/виджеты отдельно в разных местах на странице).
И это очень медленно.
Я выполнил некоторые профилирования с помощью панели инструментов django-debug:
SQL Queries: default 84.81 ms (147 queries)
Но:
Total CPU time: 5768.360 msec
Слишком долго ждать.
После некоторого анализа выяснилось, что основным виновником является замаскивание шаблонов.
Когда я хочу отобразить, например. 150 фотографий, 600 связанных элементов/виджетов обрабатываются с помощью шаблонов. Это означает 600 операций ввода-вывода или даже больше. Перемещение этих виджетов на главный шаблон решает проблему, но не сохраняет DRY.
Итак, мой вопрос в том, как можно избежать такого поведения? Быть сухим и медленным или не сухим и быстрым? Я предпочел бы быть сухим и быстрым...