【发布时间】:2013-05-12 01:08:11
【问题描述】:
我正在尝试在我的网页上显示一个表单。负责显示表单的部分模板文件如下所示:
{% for choice in poll.choice_set.all %}
<input type="radio" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}" />
{% count = 0 %}
{% if count == 0 %}
<label class="right" for="choice{{ forloop.counter }}">{{ choice.choice_text }}</label><br />
{% count += 1 %}
{% elif count == 1 %}
<label class="left" for="choice{{ forloop.counter }}">{{ choice.choice_text }}</label><br />
{% endif %}
{% endfor %}
所以你可能会注意到我期待poll.choice_set.all 有两个选择。我的目标是以不同的方式显示两者(正如您从标签的类别中看到的那样)。所以我尝试这样做的方法是声明一个计数器,该计数器最初会以某种格式显示一个选项并递增计数器,然后以不同的格式显示第二个选项,因为count 已递增。
我很确定这是完全错误的,不能这样做。我想知道是否有人可以帮助我了解如何实现我想做的事情。
所以基本上我有一个有两个选择的投票对象。我希望每个选项以不同的方式显示(不同的 CSS 类)。
【问题讨论】:
-
Django 模板不允许变量赋值。换句话说,
count += 1永远不会起作用。 -
这是一个相关的post。
-
@almostflan 谢谢,正是我需要知道的。我最终使用了
forloop.counter,一切都很好。 Django 的功能太多,而且文档巨大 ......即使是基本知识的一小部分也很难知道(无论如何对于初学者来说)。我猜只是需要练习。