1

すべてのフィールドメッセージを変更するのは冗長なので、新しいラッパーを作成します

class CharFieldWrapper(forms.CharField):     

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

ええ、これは機能しません。

誰かがerror_messagesを変更するためにフィールドまたはフォームのラッパークラスを作成する方法を知っていますか?

ありがとうございました。

4

2 に答える 2

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)       
于 2013-01-10T10:37:16.673 に答える
1

メソッドに問題があります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_messages私が行ったようにそれを上書きしないように辞書を更新する必要があります。

于 2013-01-10T12:02:05.533 に答える