Другие ответы здесь выглядят как билет (по крайней мере, для того, что я хотел), поэтому я предоставлю ответ относительно того, ПОЧЕМУ вы можете сделать что-то подобное (и, возможно, есть лучший ответ для моего случая, чем то, чтобыло предоставлено):
Я сталкивался с этим вопросом в поисках способа создания 3 очень похожих, но не идентичных кнопок с помощью Bootstrap.Одна кнопка может выглядеть как
<div class="btn-group">
<a class="btn btn-primary dropdown-toggle" data-toggle="dropdown" href="#">
Modality
<span class="caret"></span>
</a>
<ul class="dropdown-menu" id="Modality">
<li><a href="#">Action</a></li>
</ul>
</div>
, где разница между кнопками ограничена текстом кнопки (модальность, в отдельной строке выше) и содержанием соответствующей кнопки, которую мы будемПредположим, что JS заполняется динамически (ссылается на id = "Modality").
Если мне нужно сделать 10 из них, копирование / вставка HTML-кода кажется глупым и утомительным, особенно если я хочу что-то изменить в своей кнопкепосле факта (например, создание всех их разделенных раскрывающихся списков) и это идет против DRY.
Итак, вместо этого в шаблоне я мог бы сделать что-то вроде
{% with 'Modality Otherbutton Thirdbutton' as list %}
{% for i in list.split %}
<!-- copy/paste above code with Modality replaced by {{ i }} -->
{% endfor %}
{% endwith %}
Теперь,в данном конкретном случае кнопки добавляют функциональность к некоторой связанной сетке данных, поэтому имена кнопок можно динамически заполнять из данных, полученных из модели django, но сейчас я не нахожусь на этом этапе разработки, и вы можетеПосмотрите, где этот вид функциональности желательно поддерживать DRY.