Generally, you'll want to follow the steps here. The final missing ingredients are two attributes to the UserAdmin class you won't find in the docs... .add_form and .change_password_form.
Thanks to mattmc on irc for pointing me in the right direction. The attributes appear to be undocumented, but are there if you know exactly where to look. Like Mr. T I've got no more time for jibba-jabba.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.forms import (UserCreationForm,
AdminPasswordChangeForm)
from django.contrib.auth.models import User
from django.contrib import admin
from django.forms import ValidationError
# password enforcement:
class myUserCreationForm(UserCreationForm):
def clean_password1(self):
passwd = self.cleaned_data['password1']
if passwd and len(passwd) < 6:
raise ValidationError('password too short.')
return passwd
class myAdminPasswordChangeForm(AdminPasswordChangeForm):
def clean_password1(self):
passwd = self.cleaned_data['password1']
if passwd and len(passwd) < 6:
raise ValidationError('password too short.')
return passwd
class myUserAdmin(UserAdmin):
add_form = myUserCreationForm
change_password_form = myAdminPasswordChangeForm
# registration
admin.site.unregister(User)
admin.site.register(User, myUserAdmin)
|
Add this to an admin.py file. This should be enough to get you started.
No comments:
Post a Comment