0

私はそれが単純であることを知っています、そして私は広範囲に検索しようとしました、しかし何もうまくいきません:(

これをforms.pyで試すと:

class RegistrationForm(forms.Form):
    email = forms.EmailField(unique = True, error_messages = {'unique':'Duplicate Error!')
    password = forms.CharField( widget = forms.PasswordInput(render_value = False), label = "Password")

次のようなエラーが発生します。 init() got an unexpected keyword argument: unique

人々がそれを簡単に機能させるのを見ますが、明らかに私は何かが欠けています。上記のフォームとビューコードを使用して、ユーザー登録用のカスタムエラーメッセージを追加するにはどうすればよいですか?フィールドが空のままの場合にエラーメッセージが表示されるのと同じように、ユーザー名フィールドの横にエラーメッセージを表示したいと思います。

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

4

1 に答える 1

2

これを検証するには、フォームでcleanメソッドを使用します。

from django.contrib.auth.models import User

class RegistrationForm(forms.Form):
    email = forms.EmailField()
    password = forms.CharField( widget = forms.PasswordInput(render_value = False),label = "Password")

    def clean(self):

        if User.objects.filter(email=self.cleaned_data['email']).exists():
            msg = _(u'Duplicate Error!')
            self._errors['email'] = ErrorList([msg])
            del self.cleaned_data['email']
        return self.cleaned_data
于 2013-02-28T21:06:08.970 に答える