Django表单EmailField不接受css属性

2024-06-16 11:43:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含一些字段的from,但是我的css类适用于除EmailField之外的所有文件。我也尝试过sender.widget.attrs.update({'class':"contatct-form"}),但仍然不起作用(只需更改字段的大小)。有人知道问题出在哪里吗?因为我所有的搜索都没有成功。在

形式:

from django import forms
class NameForm(forms.Form):
     your_name = forms.CharField(initial='Your name', max_length=100)
     sender = forms.EmailField()
     #sender.widget.attrs.update({'class':"contatct-form"})
     message = forms.CharField(widget=forms.Textarea)

模板:

^{pr2}$

Tags: 文件namefromformupdateformswidgetcss
2条回答

您遇到的问题可能是因为您没有将任何小部件分配给您的EmailField(),对此进行更改(如@Todor said)应该有效:

...
sender = forms.EmailField(
    widget=forms.EmailInput(attrs={'class': 'contatct-form'})
) 

如果由于任何原因(可能是错误的css样式),您可以直接更改css/类中的样式,如下所示:

^{2}$

希望这有帮助。在

我们必须在init方法中对一个字段或具有for循环的所有字段执行此操作。在

class NameForm(forms.Form):
def __init__(*args, **kwargs):
    super(NameForm, self).__init__(*args, **kwargs)
    self.fields['sender'].widget.attrs.update({'class':"contatct-form"})

相关问题 更多 >