如何在django模板中将css类添加到单选按钮

时间:2014-09-17 15:56:32

标签: django django-templates django-widget-tweaks

我正在尝试使用django widget调整执行以下操作:

{{ form.gender.0.tag|attr:"class:radio_1" }}

我收到错误:

  

'SafeText'对象没有属性'as_widget'

我做错了什么?

2 个答案:

答案 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 字段,然后应用适当的类。