在django工作时试图教自己一些CSS并且已经撞墙了。我是团队的一员。我一直在使用以下表单提交数据(工作正常),但一直无法更改表单元素的CSS(特别是文本框)
<div class="fieldWrapper">
{{ form.description.errors }}
<label for="{{ form.title.id_for_label }}"></label>
{{ form.description }}
</div>
鉴于上面的代码,我认为我需要操作的元素以及控制屏幕上文本框的元素是{{form.description}}。但我似乎无法弄清楚如何应用任何更改,至少从模板页面。
我已经在使用输入标记的教程中看到了这一点,我看到人们使用小部件来编辑属性,但我不想太多地更改配置,并且我的小部件实现没有'工作。
这是可能的,还是我需要深入研究代码并编辑控制它的表单类?
由于
答案 0 :(得分:0)
您可以从django表单类执行此操作。
https://docs.djangoproject.com/en/1.7/ref/forms/widgets/#styling-widget-instances
class CommentForm(forms.Form):
name = forms.CharField(widget=forms.TextInput(attrs={'class': 'special'}))
如果说它是一个模型并且你没有手动实例化字段,你可以像往常一样覆盖__init__
并修改
self.fields['my_field'].widget.attrs['class'] = 'my-class'
您也可以手动构建HTML,而不是依赖于表单字段自动渲染,就像使用标签一样。