擅长:python、mysql、java
<p>原来我要查找的值,列表中“checked”的元素不在<code>field</code>中,而是<code>form</code>对象的一部分。我重新处理了模板标记,使其看起来像这样,它确实满足了我的需要:</p>
<pre><code>@register.filter
def alignboxes(boxes, cls):
r = ""
i = 0
for box in boxes.field.choices.queryset:
checked = "checked=checked" if i in boxes.form.initial[boxes.name] else ""
r += "<label for=\"id_%s_%d\" class=\"%s\"><input type=\"checkbox\" name=\"%s\" value=\"%s\" id=\"id_%s_%d\" %s /> %s</label>\n" % (
boxes.name,
i,
cls,
boxes.name,
box.pk,
boxes.name,
i,
checked,
box.name
)
i = i + 1
return r
</code></pre>
<p>对于后面的人,请注意上面的<code>checked</code>值是在<code>boxes.form.initial[boxes.name]</code>中找到的</p>