Django 模板如果类型添加到 html id
Django template if type add to html id
模型 gigi
有一个 typology
属性,我想根据 [=13= 的值将项目添加到 html div
标签中] 属性。我怎样才能在 Djangos 模板中做到这一点:
for gigi in object_list
<div id="typology1">
{%if gigi.typology == "typology1"> %}
<div> {{gigi.name}}</div>
{% endif %}
</div>
<div id="typology2">
{%if gigi.typology == "typology2"> %}
<div> {{gigi.name}}</div>
{% endif %}
</div>
这是唯一的方法吗?有更好的 DRY(不要重复自己)方法吗?
您目前的代码没有问题;不过,您可以进行以下小调整并删除相当多的代码。
为什么不使用 gigi.typology
字符串作为 id
?
{% for gigi in object_list %}
<div id="{{ gigi.typology }}">
<div> {{gigi.name}}</div>
</div>
{% endfor %}
如果您正在考虑将特定 "typology" 的所有元素组合在一起,那么您也可以使用 regroup
子句。
{% regoup object_list by typology as typolist %}
{% for typo in typolist %}
<div id="{{ typo.grouper }}">
{% for gigi in typo.list %}
{{ gigi.name }}
{% endfor %}
</div>
{% endfor %}
模型 gigi
有一个 typology
属性,我想根据 [=13= 的值将项目添加到 html div
标签中] 属性。我怎样才能在 Djangos 模板中做到这一点:
for gigi in object_list
<div id="typology1">
{%if gigi.typology == "typology1"> %}
<div> {{gigi.name}}</div>
{% endif %}
</div>
<div id="typology2">
{%if gigi.typology == "typology2"> %}
<div> {{gigi.name}}</div>
{% endif %}
</div>
这是唯一的方法吗?有更好的 DRY(不要重复自己)方法吗?
您目前的代码没有问题;不过,您可以进行以下小调整并删除相当多的代码。
为什么不使用 gigi.typology
字符串作为 id
?
{% for gigi in object_list %}
<div id="{{ gigi.typology }}">
<div> {{gigi.name}}</div>
</div>
{% endfor %}
如果您正在考虑将特定 "typology" 的所有元素组合在一起,那么您也可以使用 regroup
子句。
{% regoup object_list by typology as typolist %}
{% for typo in typolist %}
<div id="{{ typo.grouper }}">
{% for gigi in typo.list %}
{{ gigi.name }}
{% endfor %}
</div>
{% endfor %}