如何在CheckboxSelectMultiple中将属性设置为li标签?

时间:2018-04-18 23:19:38

标签: python html django

我使用CheckboxSelectMultiple作为MultipleChoiceField的小部件。 我知道它是这样的:

<ul>
  <li><input type="checkbox" name="..." ></li>
  ...
</ul>

当我将属性设置为CheckboxSelectMultiple时,django将其添加到ul标签。 我的问题是,如何将属性设置为li?

1 个答案:

答案 0 :(得分:0)

你可以这样做

Django为MultipleChoiceField提供了一个ul列表。我给你举个例子,因为我对你的代码没有任何线索

<强> forms.py

OPTIONS = (
    ("B", "Black"),
    ("Y", "Yellow"),
    ("R", "Red"),
)
colors = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple,choices=OPTIONS)

通过your_view

将表单发送到模板

<强> template.html

你会像{{form.colors}}一样调用它。这种方式会让django生成预先构建的html,而你可以遍历它:

<ul>
{% for check in form.colors %}
    <li class='your class'>{{check.tag}} <!-- this is the checkbox input generated by django -->
    <label for="{{check.id_for_label}}">{{check.choice_label}}</label></li>
{% endfor %}
</ul>