2011-07-18 36 views

回答

6

你必須創建自己的用戶表單並添加您所需的字段:

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 

然後覆蓋的形式,您的ModelAdmin:

class UserAdmin(admin.ModelAdmin): 
    form = UserForm 

然後註冊自己之前註銷正常admin用戶:

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

這擴展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'),}),) 

然後註銷如上:

admin.site.unregister(User) 
admin.site.register(User, CustomUserAdmin) 
相關問題