我知道django故意不允许模板中有很多逻辑。但是,有时您需要评估某些内容并根据更改您的选项。
如何更改模板中的值或仅在第一条记录中插入内容?但是你仍然想要完成其余的工作。例如,我的模板代码如下:
{% for object in object_list %}
<div id="t{{ object.id }}-header" class="content_headings title_highlight" >{{ object.title }}</div>
<div id="t{{ object.id }}-content">
......
PHP模板中的类似代码:
<div id="t<?php if ($i != 1) { echo $i-1; } ?>-header" class="content_headings<?php if ($i == 1) { ?> title_highlight<?php } ?>" ><?php the_title(); ?></div>
<div id="t<?php if ($i != 1) { echo $i-1; } ?>-content">
答案 0 :(得分:7)
forloop.first
是要走的路。我认为您需要做的只是稍微改变Tiago的答案,并得到类似的结果:
{% for object in object_list %}
<div id="t{% if not forloop.first %}{{ object.id }}{% endif %}-header" class="content_headings{% if forloop.first %} title_highlight{% endif %}">
{{ object.title }}
</div>
<div id="t{% if not forloop.first %}{{ object.id }}{% endif %}-content">
{% endfor %}
我已经检查过你的PHP代码,它似乎做的几乎完全相同(我不是从{{ object.id }}
取1,因为只要ID是唯一的,它就不会有所作为,右?)
答案 1 :(得分:2)
{% for object in object_list %}
<div id="t{{ object.id }}-{%if forloop.first%}header{%else%}content{%endif%}" class="content_headings title_highlight" >{{ object.title }}</div>
...