我花了一些时间添加一些css到一个带有提交按钮的输入域。然而,我仍然只是在学习如何使用django表单,发现我不得不在我的模板中使用'form.as_p'。结果,我失去了我想要的样式。有什么方法可以添加样式到django表单元素?!另外,我没有发布我的代码,因为它是标准的。只是一个与表单/模型连接的常规模板。只是好奇如何添加样式。
mzillmmw1#
Django表单元素的id与给定的字段名相匹配,例如表单如下所示:
BasicForm(forms.Form): first_name = models.CharField(...) last_name = models.CharField(...)
将得到呈现与id为每个输入元素,如first_name_id和last_name_id,然后你可以应用css样式使用这些id,如果你想添加一个类到所有的表单域(如果你正在使用类似bootstrap),你可以修改表单域小部件如下:
BasicForm(forms.Form): first_name = models.CharField(..., widget=forms.TextInput(attrs={'class' : 'myclass'}) last_name = models.CharField(..., widget=forms.TextInput(attrs={'class' : 'myfieldclass'})
7vhp5slm2#
向小部件添加form-control css类。form类是通过widget访问input标记的入口,通过form.Form中的constructor方法改变widget属性。此方法self.visible_fields()用于获取前端可以查看的所有可见视野。
form-control
form.Form
self.visible_fields()
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) for field in self.visible_fields(): field.field.widget.attrs.update({'class': 'form-control'})
2条答案
按热度按时间mzillmmw1#
Django表单元素的id与给定的字段名相匹配,例如表单如下所示:
将得到呈现与id为每个输入元素,如first_name_id和last_name_id,然后你可以应用css样式使用这些id,如果你想添加一个类到所有的表单域(如果你正在使用类似bootstrap),你可以修改表单域小部件如下:
7vhp5slm2#
向小部件添加
form-control
css类。form类是通过widget访问input标记的入口,通过
form.Form
中的constructor方法改变widget属性。此方法
self.visible_fields()
用于获取前端可以查看的所有可见视野。