Джанго многоразовый код шаблона

Поэтому, когда я проектирую свой проект, я думаю, что, должно быть, я делаю что-то не так. Некоторые части кода шаблона можно использовать повторно, что заставляет меня хотеть извлечь код из шаблона, но я не могу найти хороший способ. Например, некоторые кнопки имеют одинаковый дизайн на всем сайте. Какой лучший способ извлечь это из страницы? Здесь я рассмотрел использование простых тегов включения или включаемых файлов.

Теперь это хорошо, за исключением того, что я также очень обеспокоен оптимизацией по скорости. После тестирования я обнаружил, что использование простых тегов на 50% медленнее, чем обычные встроенные шаблоны, а теги включения более чем на 350% медленнее. Это вызывает беспокойство, потому что некоторые фрагменты кода, которые дублируются, находятся в местах, предназначенных для зацикливания списка. Так, например, при отображении списка элементов у меня есть фрагмент кода для голосования вверх / вниз, который дублируется на всем сайте. Если бы я использовал что-то вроде тега включения, это добавило бы много усилий для сайта. Есть ли лучший способ сделать все это?

Если я стремлюсь к скорости, должен ли я пойти на компромисс с СУХОЙ, чтобы сделать вещи быстрее?

1 ответ

Решение

Используйте то, что мешает вам повторяться. Я фанат тегов включения для таких вещей, как кнопки.

Если вы строите для скорости, используйте инфраструктуру кеширования Django, чтобы избежать повторного выполнения одной и той же работы, особенно в отношении кэширования фрагментов шаблона.

Другие вопросы по тегам