如何在<div id =“second-item”>和我的第二个对象以及第三个项目中显示我的第三个对象?</div>

时间:2013-10-21 12:13:35

标签: django

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 %}

2 个答案:

答案 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 %}