デフォルトのバリデータ メッセージの変更
error_messages
フォーム フィールドへの引数を介して、デフォルト バリデータのエラー メッセージを変更できます。
フィールドごとに存在するバリデータを確認するには、https ://docs.djangoproject.com/en/dev/ref/forms/fields/#built-in-field-classes を確認してください。
class MyForm(UserCreationForm):
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['username'].error_messages = {'invalid': 'foobar'}
self.fields['password1'].error_messages = {'required': 'required, man'}
新しいフィールドを既存のフォームに追加する
新しいフィールドを追加したい場合は、サブクラス化を介して追加します (これは単なる python です)。
フィールドをサブクラス化UserCreationForm
して追加すると、元のフィールドと新しいフィールドだけを持つ新しいフォーム クラスになります。
class MyForm(UserCreationForm):
extra_field = forms.CharField()
管理フォームのオーバーライド
UserCreationForm
管理サイトがデフォルトで使用するをオーバーライドしようとしている場合はModelAdmin
、モデラー用に新しい を登録する必要がありますUser
。
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
from foo import MyNewUserCreationForm
class NewUserAdmin(UserAdmin):
add_form = MyNewUserCreationForm
admin.site.unregister(User)
admin.site.register(User, NewUserAdmin)