2013-02-07 19 views
6

के साथ Django 1.5 आरसी 1 व्यवस्थापक उपयोगकर्ता निर्माण फॉर्म मुझे व्यवस्थापक के 'नए उपयोगकर्ता पृष्ठ' जोड़ें पर अनुकूलित उपयोगकर्ता के कस्टम आवश्यक फ़ील्ड दिखाने का कोई तरीका नहीं मिला।कस्टम क्षेत्र

मैंने एक कस्टम उपयोगकर्ता बनाया है जो सार यूज़र को बढ़ाता है और तीन आवश्यक कस्टम फ़ील्ड जोड़ता है। मैंने कस्टम UserManager नहीं बनाया क्योंकि मैं सार तत्व उपयोगकर्ता से विस्तार नहीं कर रहा हूं।

व्यवस्थापक पक्ष के लिए: 1. मैंने इसे विस्तारित करके एक कस्टम UserCreationForm बनाया है। मेटा क्लास के अंदर मैंने उन नए तीन कस्टम फ़ील्ड्स को जोड़ा

लेकिन मैं व्यवस्थापक पक्ष पर कस्टम फ़ील्ड नहीं देख सकता। क्या मैं गलत कर रहा हूँ?

यहाँ व्यवस्थापक पक्ष के लिए कोड है:

class MyUserCreationForm(UserCreationForm): 
    """A form for creating new users. Includes all the required 
    fields, plus a repeated password.""" 
    password1 = forms.CharField(label='Password', widget=forms.PasswordInput) 
    password2 = forms.CharField(label='Password confirmation', widget=forms.PasswordInput) 

    class Meta: 
     model = get_user_model() 
     fields = ('customField1', 'customField2', 'customField3',) 

    def clean_password2(self): 
     # Check that the two password entries match 
     password1 = self.cleaned_data.get("password1") 
     password2 = self.cleaned_data.get("password2") 
     if password1 and password2 and password1 != password2: 
      raise forms.ValidationError("Passwords don't match") 
     return password2 

    def save(self, commit=True): 
     # Save the provided password in hashed format 
     user = super(UserCreationForm, self).save(commit=False) 
     user.set_password(self.cleaned_data["password1"]) 
     if commit: 
      user.save() 
     return user 


class MyUserAdmin(UserAdmin): 
    form = MyUserChangeForm 
    add_form = MyUserCreationForm 

    fieldsets = (
     (None, {'fields': [('username', 'password', 'customField1', 'customField2', 'customField3'),]}), 
     (_('Personal info'), {'fields': ('first_name', 'last_name', 'email')}), 
     (_('Permissions'), {'fields': ('is_active', 'is_staff', 'is_superuser', 
            'groups', 'user_permissions')}), 
     (_('Important dates'), {'fields': ('last_login', 'date_joined')}), 
     ) 



admin.site.register(CustomUser, MyUserAdmin) 
+4

समाधान --- विस्तारित UserAdmin कक्षा में 'add_fieldsets' जोड़ना फ़ील्ड दिखाई देता है। add_fieldsets = ( (कोई नहीं, { 'कक्षाएं': ('विस्तृत',), 'फ़ील्ड': ('उपयोगकर्ता नाम', 'पासवर्ड 1', 'पासवर्ड 2', 'customField1', 'customField2', 'customField3',)} ), – ratata

+0

अरे @ratata क्या आप अपना समाधान एक उत्तर के रूप में पोस्ट कर सकते हैं जिसे हम उत्तर के रूप में हल कर सकते हैं !? – Azd325

उत्तर

4

समाधान --- विस्तारित UserAdmin वर्ग के लिए 'add_fieldsets' जोड़ना क्षेत्रों दिखाई देता है।

add_fieldsets = ((None, { 'classes': ('wide',), 'fields': ('username', 'password1', 'password2', 'customField1', 'customField2', 'customField3',)}),