django ModelForm和error_css_class

yhqotfr8  于 2023-03-24  发布在  Go
关注(0)|答案(2)|浏览(127)

我的问题很简单。2当使用ModelForm时,自定义error_css_class值的正确位置在哪里?
我试过这个:

class ToolForm(ModelForm):
error_css_class = 'wrong_list'
class Meta:
    model = Tool
    widgets = {
               'name' : TextInput(attrs={'class': 'small_input corners'}),
               'description' : Textarea(attrs={'cols': 20, 'rows': 5, 'class': 'text corners'}),
               'stocks' : TextInput(attrs={'class': 'small_input corners'}),
               'state' : Textarea(attrs={'cols': 25, 'rows': 6, 'class': 'text corners'}),
    }

另外,我尝试作为一个类 meta值。也不起作用。
现在我只是把我的css改成了'errorlist'(你知道的,默认的),但是这种怀疑让我很不开心:P
任何帮助都很感激。

bvjveswy

bvjveswy1#

你可以通过继承django的ErrorList来定义你自己的错误列表类,详情请参见文档:

  • 自定义错误列表格式

请注意,您必须重写该方法以输出完整的HTML,并且不能只是替换CSS类。您可以调用基方法并在“class=\“errolist"”上执行字符串替换并返回输出。

rvpgvaaj

rvpgvaaj2#

创建扩展ErrorList的自定义类

class CustomErrorList(ErrorList):
    def get_context(self):
        return {
            "errors": self,
            "error_class": "your css class",
        }

并将其添加到表单类中:
类CustomForm(ModelForm):def初始化(自定义,* 参数,**字符):super().init(*args,**kwargs)self.error_class = CustomErrorList

相关问题