【发布时间】:2019-03-17 20:19:09
【问题描述】:
我一直在网上搜索如何将颜色/主题应用于 django 中的复选框表单项,但找不到如何做到这一点。
我想做的事情可能很容易,但是尽管我红了所有的主题和博客,但我仍然无法做到。
这是我的简化表格:
class MyForm(forms.Form):
def __init__(self, data, *args, **kwargs):
super(MyForm, self).__init__(data, *args, **kwargs)
self.fields['checkbox'] = forms.MultipleChoiceField(
label='Set of questions to know you better',
required=True,
widget=forms.CheckboxSelectMultiple(attrs={'disabled': 'disabled'}),
choices=((1, 'Proposition 1'), (2, 'Proposition 2'), (3, 'Proposition 3'), (4, 'Proposition 4')),
initial=(1, 2, 4,)
)
我想知道我应该如何修改我目前看起来像的 html
<form action="{% url 'dummy' %}" method="post">
{% csrf_token %}
{{ form.as_p }}
</form>
以便所有 initial 设置为 True 的选项都应用给定的 css,而那些设置为 False 的选项则是另一个。
希望我的问题有意义。如果没有请不要犹豫。
最佳:
埃里克
编辑:添加生成的 html
<form action="/dummy" method="post">
<input type='hidden' name='csrfmiddlewaretoken' value='LGZ0mwqrAKxb7CzFvOyYIyUIcDSARy4iwEtHVDjKPpnBd1AIXlk4UyxRuCSIEviY' />
<p><label>Set of questions to know you better :</label> <ul id="id_checkbox">
<li><label for="id_checkbox_0"><input type="checkbox" name="checkbox" value="1" disabled="disabled" id="id_checkbox_0" checked />
Proposition 1</label>
</li>
<li><label for="id_checkbox_1"><input type="checkbox" name="checkbox" value="2" disabled="disabled" id="id_checkbox_1" checked />
Proposition 2</label>
</li>
<li><label for="id_checkbox_2"><input type="checkbox" name="checkbox" value="3" disabled="disabled" id="id_checkbox_2" />
Proposition 3</label>
</li>
<li><label for="id_checkbox_3"><input type="checkbox" name="checkbox" value="4" disabled="disabled" id="id_checkbox_3" checked />
Proposition 4</label>
</li>
</ul></p>
</form>
【问题讨论】:
-
@VaibhavVishal 嗨。谢谢你的关注。我刚刚添加了一个屏幕截图,说明它现在的样子。
-
在您提供的屏幕截图中,没有选中任何复选框,所以我猜没有一个初始设置为 True。正常吗?
-
@VaibhavVishal 我刚刚添加了 html。
-
@May.D 你是对的。这不正常。它曾经工作过。我会看看我可能做了什么改变以使它停止工作。
-
@VaibhavVishal 对不起。我的错。我刚刚添加了它。