将属性添加到脆皮形式 django

bin*_*ime 4 django twitter-bootstrap django-crispy-forms

我正在使用引导程序开关,看起来如果我想添加一个标签,我需要:

<input name="switch-labelText" type="checkbox" data-label-text="Label">
Run Code Online (Sandbox Code Playgroud)

我使用的是脆皮形式,我可以看到我可以使用 Field 添加属性,如下所示:

Field('field_name', css_class="black-fields")
Run Code Online (Sandbox Code Playgroud)

这一切对我来说都有意义,但我似乎无法添加数据标签文本。所以我的问题是我可以用脆皮形式制作自定义属性吗?

这是我的表格:

class InstanceCreationForm(forms.Form):
    some_field = forms.BooleanField(required=False)
    some_field2 = forms.BooleanField(required=False)
    some_field3 = forms.BooleanField(required=False)

    def __init__(self, *args, **kwargs):
        super(InstanceCreationForm, self).__init__(*args, **kwargs)
        self.helper = FormHelper()
        self.helper.form_show_labels = False
        self.helper.layout = Layout(
            #This is a syntax error
            Field('some_field', data-label-text="whatever")
        )
        self.helper.add_input(Submit('submit', 'Submit'))
Run Code Online (Sandbox Code Playgroud)

Ala*_*air 6

从文档:

如果你想设置 html 属性,用连字符分隔单词,比如data-name,因为 Python 不支持关键字参数中的连字符,而连字符是 HTML 中的常用符号,下划线将被翻译成连字符,所以你会这样做: Field('field_name', data_name="whatever")

所以你需要改用关键字data_label_text。

Field('some_field', data_label_text="whatever")
Run Code Online (Sandbox Code Playgroud)