text = MyText.objects.all()
模板中的:
{% for t in text %}
<div id="first-item">
<h4>{{ t.name }}</h4>
</div>
<div id="secound-item">
<h2> {{ t.name }} </h2>
</div>
<div id="third-item">
<h1> {{ t.name }} </h1>
</div>
.....
{% endfor %}
如何在<div id="secound-item">
我的第二个对象和third-item
我的第三个对象中显示?等等......
这样的事情会是最佳的吗?
{% for t in text %}
<div id="first-item">
<h4>{{ t.0.name }}</h4>
</div>
<div id="secound-item">
<h2> {{ t.1.name }} </h2>
</div>
<div id="third-item">
<h1> {{ t.2.name }} </h1>
</div>
.....
{% endfor %}
答案 0 :(得分:0)
您可以使用django.contrib.humanize
中的apnumber过滤器,但这只会创建数字,直到10为止。它会为您提供:
1 =一个
2 =两个
3 =三
但要获得像“第一”,“第二”,“第三”这样的序数,你必须写一个template filter。 HTML中的ID和类不能以整数开头,但它们当然可以包含整数。我认为您尝试做的一个简单的解决方案就是简单地改变您的价值观:
项-1
项-2
项-3
所以你可以利用循环索引。此外,您应将页面限制为一个<h1>
标记,该标记与您搜索引擎优化的标题大约相同,为90%。
如果你只是想在类名或id中包含循环索引,我会这样做:
{% for t in text %}
<div id="item-{{ forloop.counter }}">
<h4>{{ t.name }}</h4>
</div>
{% endfor %}
HTML元素的类和ID不能以整数开头。
答案 1 :(得分:0)
{% for t in text %}
<div id="{{t.id}}-item">
<h4>{{ t.name }}</h4>
</div>
{% endfor %}