forms.py
class ZergitForm(forms.Form):
zerg_selection = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple(),required=False)
views.py
def feeds(request):
if request.method == 'POST':
zergform = ZergitForm(request.POST)
""""""""
some other logic comes here
""""""""
selection = ZergitForm(zerg_id)
return render(request, 'feed_list.html',{'zerg_selection':zerg_selection})
feed_list.html
{% for feed in selection.zerg_selection %}
<span class="checkbox_select">{{ feed }}</span>
{% endfor %}
问题是它呈现为<li>
标记中的复选框列表。但我需要的是<span>
标记内的复选框的输入字段。如何在我的应用程序中实现它。
答案 0 :(得分:0)
没有干净的解决方案,要么您使用重写的渲染方法定义自己的CheckboxSelectMultiple小部件(imho,这是一个很大的开销):
https://github.com/django/django/blob/1.5.2/django/forms/widgets.py#L754
或者你使用小黑客(在这种情况下你替换<li>
和</li>
等):
Django Setting class of <ul> instead of <input> with CheckboxSelectMultiple widget
或者您自定义模板输出: