在 django-crispy-forms 中使用字段标签作为占位符

2023-11-23

我正在考虑使用字段标签作为我的占位符属性的 DRY 方法<input>HTML 元素。我在用着django-crispy-forms.

现在我有:

class FilterForm(Form):

    query = CharField(max_length=50, label='', required=False)

    def __init__(self, data=None, files=None, **kwargs):
        self.helper = FormHelper()
        self.helper.layout = Layout(
            Field('query', placeholder='Search ...'),
        )
        super(FilterForm, self).__init__(data, files, **kwargs)

然而,我宁愿不必单独设置标签和占位符,因为这最终会有更多的字段,而且非常冗长。

您有什么建议?


可以通过此实现 DRY 解决方案__init__ method:

def __init__(self, *args, **kwargs):
    super(FilterForm, self).__init__(*args, **kwargs)
    helper = self.helper = FormHelper()

    # Moving field labels into placeholders
    layout = helper.layout = Layout()
    for field_name, field in self.fields.items():
        layout.append(Field(field_name, placeholder=field.label))
    helper.form_show_labels = False
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 django-crispy-forms 中使用字段标签作为占位符 的相关文章

随机推荐