2011-07-18 26 views

Trả lời

6

Bạn phải tạo biểu mẫu riêng người dùng và thêm các trường bắt buộc của bạn:

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 

Sau đó ghi đè lên mẫu tại ModelAdmin của bạn:

class UserAdmin(admin.ModelAdmin): 
    form = UserForm 

Và sau đó unregister quản trị tài khoản bình thường trước khi đăng ký của riêng bạn :

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

Chỉ cần viết form class và 0 của riêng bạn, để sử dụng làm biểu mẫu.

6

này mở rộng Geoffroy của câu trả lời:

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

Và sau đó unregister như trên:

admin.site.unregister(User) 
admin.site.register(User, CustomUserAdmin) 
Các vấn đề liên quan