class BootStrap: bootstrap_exclude_fields = [] def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) # 循环ModelForm中的所有字段,给每个字段的插件设置 for name, field in self.fields.items(): if name in self.bootstrap_exclude_fields: continue # 字段中有属性,保留原来的属性,没有属性,才增加。 if field.widget.attrs: field.widget.attrs["class"] = "form-control" field.widget.attrs["placeholder"] = field.label else: field.widget.attrs = { "class": "form-control", "placeholder": field.label }
时间: 2023-12-06 09:41:08 浏览: 116
这是一个使用 Bootstrap 样式的 Django ModelForm 类的示例。其中,`bootstrap_exclude_fields` 属性用于指定需要排除的字段,不设置 Bootstrap 样式。在 `__init__` 方法中,通过遍历所有字段,设置每个字段的插件,即将其 `attrs` 属性中的 `class` 和 `placeholder` 设置为 Bootstrap 样式和输入提示。如果字段的 `attrs` 属性已经存在,那么将会保留原来的属性,否则会新增属性。这样,生成的表单页面就可以使用 Bootstrap 样式进行美化了。
阅读全文