更改默认验证器消息
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)