Pet*_*zuk 6 django twitter-bootstrap django-crispy-forms
我正在考虑使用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)
Run Code Online (Sandbox Code Playgroud)
但是,我不希望单独设置标签和占位符,因为这最终会有更多的字段,而且非常冗长.
你有什么建议?
小智 15
使用此__init__方法可以实现DRY解决方案:
Run Code Online (Sandbox Code Playgroud)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
目前,可以使用下面的bootstrap helper属性来实现隐藏标签:
self.helper.form_show_labels = False
默认设置为True.它决定是否渲染或不形成字段标签.
您仍然需要使用Field布局对象定义占位符:
字段('query',占位符='搜索...'),
| 归档时间: |
|
| 查看次数: |
7483 次 |
| 最近记录: |