2010-08-20 17 views
9

मैं तो जैसे उपयोगकर्ता के लिए एक modelform उपयोग कर रहा हूँ:Django पासवर्ड समस्याओं

class UserForm(forms.ModelForm): 
    class Meta: 
     model = User 
     fields = ('username','password','email',) 

लेकिन पासवर्ड क्षेत्र एक नियमित पाठ फ़ील्ड, नहीं एक पासवर्ड इनपुट के रूप में दिखाई देता है। मैं कैसे सुनिश्चित करूं कि यह एक पासवर्ड फ़ील्ड दिखाता है?

class UserForm(forms.ModelForm): 
    username = forms.CharField(max_length = 15, min_length = 6) 
    password = forms.PasswordInput() 
    class Meta: 
     model = User 
     fields = ('username','password','email',) 

लेकिन है कि या तो काम नहीं करता:

मैं इस कोशिश की।

मैं भी तो एक तरह की पुष्टि पासवर्ड फ़ील्ड जोड़ने के लिए कोशिश कर रहा हूँ, लेकिन यह कोई फ़ील्ड प्रदर्शित करने के लिए कारण बनता है:

class UserForm(forms.ModelForm): 
    username = forms.CharField(max_length = 15, min_length = 6) 
    password = forms.PasswordInput() 
    cpassword = forms.PasswordInput() 

    def clean(self): 
     if self.cleaned_data['cpassword']!=self.cleaned_data['password']: 
      raise forms.ValidationError("Passwords don't match") 

    class Meta: 
     model = User 
     fields = ('username','password','cpassword','email',) 

उत्तर

19

आप प्रपत्र फ़ील्ड्स के बीच का अंतर भूल रहे हैं और विजेट के रूप में। विजेट क्षेत्र का HTML प्रतिनिधित्व है। आप Django 1.2 पर हैं, तो आप इस वाक्य विन्यास का उपयोग कर सकते हैं:

संपादित करें: अद्यतन

class UserForm(forms.ModelForm): 

    confirm_password = forms.CharField(widget=forms.PasswordInput()) 

    class Meta: 
     model = User 
     fields = ('username','password','email',) 
     widgets = { 
      'password': forms.PasswordInput(), 
     } 
+0

धन्यवाद पुष्टि पासवर्ड शामिल करने के लिए, मैं तुम कर सकते हो कि यह ही होगा पता नहीं था पासवर्ड की पुष्टि के लिए चीज? – JPC

+0

चूंकि वह मॉडल मॉडल में नहीं है, इसलिए आपको इसे अलग से घोषित करने की आवश्यकता होगी ... मैं अपना उत्तर – Zach

+0

अपडेट कर दूंगा, मुझे अभी भी यकीन नहीं है कि मुझे समझ में आता है कि मुझे पासवर्ड इनपुट को CharField के विजेट के रूप में क्यों निर्दिष्ट करना है । वे दोनों रूप हैं वे नहीं हैं? मैं पासवर्ड इनपुट का उपयोग क्यों नहीं कर सकता? धन्यवाद! – JPC

संबंधित मुद्दे