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

2 回答 2

0
{% for t in text %}

<div id="{{t.id}}-item">
    <h4>{{ t.name }}</h4>
</div>

{% endfor %}
于 2013-10-21T12:27:08.530 回答
0

您可以使用apnumber过滤器django.contrib.humanize,但这只会创建从数字到 10 的单词。它将为您提供:

1 = 一

2 = 两个

3 = 三

但是要获得像“first”、“second”、“third”这样的序数,您必须编写一个模板过滤器。HTML 中的 ID 和类不能以整数开头,但它们当然可以包含整数。我认为您正在尝试做的一个简单的解决方案是简单地颠倒您的价值观:

项目-1

项目-2

第 3 项

所以你可以利用循环索引。此外,您应该将您的页面限制为一个<h1>标签,该标签与您的标题大约 90% 相同,以用于 SEO 目的。

如果您只想在类名或 id 中包含循环的索引,我会这样做:

{% for t in text %}
<div id="item-{{ forloop.counter }}">
    <h4>{{ t.name }}</h4>
</div>
{% endfor %}

HTML 元素的类和 ID 不能以整数开头。

于 2013-10-21T12:16:57.573 回答