这里总计新...
我正在进行投票,我在一个页面上显示5个问题。每个问题都有4个放射性物体。
在我的django模板中,我循环遍历所有问题的容器(latest_poll_list)(民意调查):
<form action="/first/vote/" method="post">
{% csrf_token %}
{% for poll in latest_poll_list %}
<li>{{ poll.question }}</li>
{% for choice in poll.choice_set.all %}
<input type="radio" name="choice{{poll.id}}" id="choice{{ forloop.counter }}" value="{{ choice.id }}" />
<label for="choice{{ forloop.counter }}">{{ choice.choice }}</label><br />
{% endfor %}
{% endfor %}
<input type="submit" value="Vote" />
</form>
最后,如何从多个问题返回结果?我是否必须将选项+ poll.id放入数组/容器中?
另外,django如何知道forloop.counter是指内循环而不是外循环? 感谢您在我加速时的耐心!
答案 0 :(得分:0)
我会考虑使用formset
或model formset
。
和forloop.counter用于最内部的forloop,但是你可以使用{% with %}
标签将计数器从外部forloop传递到内部forloop:
{% for object in objects %}
<label>{{ forloop.counter }}</label>
{% with outside_counter=forloop.counter %}
{% for subobject in object %}
<p>outside: {{ outside_counter }} inside: {{ forloop.counter }}</p>
{% endfor %}
{% endwith %}
{% endfor %}
结果:
<label>0</label>
<p>outside: 0 inside: 0</p>
<p>outside: 0 inside: 1</p>
<label>1</label>
<p>outside: 1 inside: 0</p>
<p>outside: 1 inside: 1</p>
...