Django表单EmailField不接受css属性

Kas*_*mvd 4 python django django-templates django-forms

我有一个包含一些字段,但我的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)
Run Code Online (Sandbox Code Playgroud)

模板:

        <div class="contatct-form">
            <form action="" method="post">
                {% csrf_token %}
                {{ form }}
                <input type="submit" value="send" />
            </form>
        </div>
Run Code Online (Sandbox Code Playgroud)

Anz*_*zel 11

您可能遇到的问题是因为您没有将任何小部件分配给您的EmailField(),更改为此(如@Todor所说)应该可以正常工作:

...
sender = forms.EmailField(
    widget=forms.EmailInput(attrs={'class': 'contatct-form'})
) 
Run Code Online (Sandbox Code Playgroud)

如果由于某种原因(可能是错误的CSS样式)不起作用,您可以直接更改css/类中的样式,如下所示:

div.contatct-form form input[type=email] {
    /* your changes here... */
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.