首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在django-crispy-forms中使用字段标签作为占位符

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

Stack Overflow用户
提问于 2012-11-21 05:46:06
回答 7查看 11.5K关注 0票数 7

我正在考虑为我的<input>元素的占位符属性使用字段标签的干式方法。我使用的是django-crispy-forms

现在我有:

代码语言:javascript
复制
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)

然而,我不希望必须单独设置标签和占位符,因为这个for最终会有更多的字段,而且它相当冗长。

你有什么建议?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-05-31 23:30:09

使用以下__init__方法可以实现干式解决方案:

def __init__(self,*args,**kwargs):(FilterForm,self).__init__(*args,**kwargs) helper = self.helper = FormHelper() #将字段标签移入占位符layout = helper.layout = field_name,self.fields.items()中的字段: layout.append( field (field_name,placeholder=field.label)) helper.form_show_labels = False

票数 20
EN

Stack Overflow用户

发布于 2014-04-22 20:46:11

目前可以通过下面的bootstrap helper attribute实现标签的隐藏:

self.helper.form_show_labels = False

默认设置为True。它决定是否呈现表单的字段标签。

您仍然需要使用Field layout对象定义占位符:

查询字段(‘

’,placeholder='Search ...'),

票数 5
EN

Stack Overflow用户

发布于 2013-06-17 19:44:11

试试这个:

代码语言:javascript
复制
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=kwargs.pop('query_placeholder', 'random text')),
        )
        super(FilterForm, self).__init__(data, files, **kwargs)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13482753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档