2011-07-18 13 views

Respuesta

6

Debe crear su propio formulario de usuario y la adición de sus campos obligatorios:

class UserForm(forms.ModelForm): 
    class Meta: 
     model = User 

    def __init__(self, *args, **kwargs): 
     super(UserForm, self).__init__(*args, **kwargs) 
     self.fields['email'].required = True 
     self.fields['first_name'].required = True 
     self.fields['last_name'].required = True 

se puede redefinir la forma en que su ModelAdmin:

class UserAdmin(admin.ModelAdmin): 
    form = UserForm 

Y entonces anular el registro del usuario admin normal antes de registrar su propia :

admin.site.unregister(User) 
admin.site.register(User, UserAdmin) 
6

Este se extiende la respuesta de Geoffroy:

from django.contrib.auth.forms import UserCreationForm 
class UserForm(UserCreationForm): 
    class Meta: 
     model = User 

    def __init__(self, *args, **kwargs): 
     super(UserForm, self).__init__(*args, **kwargs) 
     self.fields['email'].required = True 
     self.fields['first_name'].required = True 
     self.fields['last_name'].required = True 

ModelAdmin:

from django.contrib.auth.admin import UserAdmin 
class CustomUserAdmin(UserAdmin): 
    add_form = UserForm 
    add_fieldsets = (
     (None, {'fields':('username','password1','password2','first_name','last_name','email'),}),) 

Y entonces anular el registro que el anterior:

admin.site.unregister(User) 
admin.site.register(User, CustomUserAdmin)