Django重写模型窗体或字段中的默认错误消息

2024-09-27 00:17:23 发布

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

更改每个字段的消息都是冗余的,所以我制作了新的包装器

class CharFieldWrapper(forms.CharField):     

    def __init__(self, *args, **kwargs):
        super(CharFieldWrapper, self).__init__(*args, **kwargs)  
        self.error_messages = {'required' : 'XXXX: YOU SHOULD PUT SOMETHING!' }     

是啊,这不管用。在

有人知道如何使字段或窗体的包装类更改错误消息吗?在

谢谢。在


Tags: self消息initdefrequiredargsformserror
2条回答

尝试将它们作为参数传递:

class CharFieldWrapper(forms.CharField):

   def init(self, *args, **kwargs):
       kwargs['error_messages'] = {'required' : 'XXXX: YOU SHOULD PUT SOMETHING!' }
       super(CharFieldWrapper, self).init(*args, **kwargs)       

您的init方法有问题:

class CharFieldWrapper(forms.CharField):

    def __init__(self, *args, **kwargs):
        super(CharFieldWrapper, self).__init__(*args, **kwargs)
        self.error_messages['required'] = 'XXXX: YOU SHOULD PUT SOMETHING!'

另外,在执行self.error_messages = {'required': 'my error msg'}时,您完全重写了error_messages,这是不好的,因为可能还有一些其他验证错误。您应该更新self.error_messagesdict,而不是像我那样覆盖它。在

相关问题 更多 >

    热门问题