То, что вы делаете, звучит нормально, но можно задать вопрос: почему бы не поместить ссылки тега шаблона непосредственно в ваш шаблон вместо того, чтобы вручную отображать их?
<div>
{% if object matches some criteria %}
{% render_type1_object object %}
{% else %}
{% render_type2_object object %}
{% endif %
... etc ...
</div>
Или, еще лучше, иметь один центральный тег шаблона для рендеринга объекта (или списка объектов), который инкапсулирует отображение типов объектов в теги шаблона. Тогда все ваши шаблоны просто ссылаются на один тег шаблона, без знания типов в самих шаблонах.
Суть в том, что вы получаете знания о том, как визуализировать отдельные объекты из ваших представлений.