UserChangeForm
のサブクラスをdjango.contrib.auth.forms
にサブクラス化し、サブタイプをforms.ModelForm
ではなく、その動作をカスタマイズすることができます。
from django.contrib.auth.forms import UserChangeForm
class MyUserChangeForm(UserChangeForm):
def __init__(self, *args, **kwargs):
super(MyUserChangeForm, self).__init__(*args, **kwargs)
self.fields['email'].required = True
self.fields['first_name'].required = True
self.fields['last_name'].required = True
class UserAdmin(admin.ModelAdmin):
form = MyUserChangeForm
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
上記では、パスワードハッシュを表示し、パスワード変更フォームにリンクするユーザーパスワードのデフォルトの動作を使用します。それを変更したい場合は、SetPasswordForm
を見て、Djangoの管理者にパスワードがどのように設定されているかを見てください。