Python 如果该字段无效,如何将自己的类添加到该字段中?

Python 如果该字段无效,如何将自己的类添加到该字段中?,python,django,Python,Django,如果该字段无效,如何将自己的类添加到该字段中 例如,如果此字段无效,我将添加class=“invalid” 表格: class MyForm(forms.Form): myfield = forms.CharField() 模板: {{ form.myfield }} 编辑以更准确地回答问题 如果要为错误或必填字段指定类: class MyForm(Form): error_css_class = 'error' #here you can set this to 'inva

如果该字段无效,如何将自己的类添加到该字段中

例如,如果此字段无效,我将添加
class=“invalid”

表格:

class MyForm(forms.Form):
    myfield = forms.CharField()
模板:

{{ form.myfield }}

编辑以更准确地回答问题

如果要为错误或必填字段指定类:

class MyForm(Form):
    error_css_class = 'error' #here you can set this to 'invalid'
    required_css_class = 'required'
参考:

您还可以使用以下命令更改一个字段的类:

myfield= forms.CharField(attrs={'class': 'myclass'})

ref:

在forms clean方法中,您可以为所有出现错误的字段更新窗口小部件的属性,以实现类似于您想要的内容

from django import forms

class MyForm(forms.Form):
    myfield = forms.CharField()

    def clean(self):
        if 'myfield' in self._errors:
            self.fields['myfield'].widget.attrs.update({'class': 'invalid'})

        # Or to add the class to the input of all erroring fields:
        for field in self.fields:
            if field in self._errors:
                self.fields[field].widget.attrs.update({'class': 'invalid'})

        return super(MyForm, self).clean()

我知道这个解决方案,但只有在验证过程中此字段出错时,我才需要添加类:“Form类有两个钩子,您可以使用它们将类属性添加到所需的行或有错误的行”