我正在使用 Django Forms 制作一个 html 表单。我使用BoundFields是因为我的表单布局中有一些特殊的东西。
我的表单中有一个带有 RadioSelect 小部件的 ChoicesField。我手动迭代选择,因为我想在里面放一个 img <li>
:
<ul>
{% for country in form.country %}
<li>
<img src="{{ MEDIA_URL }}country_icons/country_{{ country.value }}.png">
{{ country }}
</li>
{% endfor %}
</ul>
但现在输出不包括输入元素上的 id 标签:
<ul>
<li>
<img src="/media/country_icons/country_nl.png">
<label>
<input type="radio" value="nl" name="country" checked="checked">
Netherlands
</label>
</li>
<li>
<img src="/media/country_icons/country_de.png">
<label>
<input type="radio" value="de" name="country">
Germany
</label>
</li>
</ul>
同时,当我不会遍历选项并仅输出该字段时:
{{ form.country }}
将输出:
<ul>
<li>
<label for="id_country_0">
<input id="id_country_0" type="radio" value="nl" name="country" checked="checked">
Netherlands
</label>
</li>
<li>
<label for="id_country_1">
<input id="id_country_1" type="radio" value="de" name="country">
Germany
</label>
</li>
</ul>
所以我的问题是当我手动迭代选择时 id 字段不存在。这使得我的 css/javascript 选择器不一致。
所以我的问题是,有什么方法可以包含 id-tag 吗?无论如何,这种行为是有意的吗?或者这可能是一个错误?有人遇到类似的问题吗?