我正在尝试使用django widget调整执行以下操作:
{{ form.gender.0.tag|attr:"class:radio_1" }}
我收到错误:
'SafeText'对象没有属性'as_widget'
我做错了什么?
答案 0 :(得分:2)
像这样初始化您的RadioButton:
CHOICES=[('option1','option1'),
('option2','option2')]
radio = forms.ChoiceField(choices=CHOICES, widget=forms.RadioSelect(attrs={'class': 'radio_1'}))
生成的HTML代码如下所示:
<input type="radio" class="radio_1" ... />
答案 1 :(得分:0)
您可能已经知道如何将 CSS 应用于 Django 模板中的单选按钮,但如果有人遇到同样的情况,这里是直接来自文档的代码:
<fieldset>
<legend>{{ myform.beatles.label }}</legend>
{% for radio in myform.beatles %}
<div class="myradio">
{{ radio }}
</div>
{% endfor %}
</fieldset>
此代码假设您有一个包含 beatles 字段的表单 myform,该字段使用 RadioSelect 作为其小部件。
如您所见,循环遍历 beatles 字段可以让您为每个单选按钮添加必要的类(此处为 class="myradio");因此,让您的 CSS 样式变得可能和更容易。
在您的情况下,您可能还想遍历 gender 字段,然后应用适当的类。