/ / सबमिट करते समय मॉडलफ़ॉर्म नहीं मिल रहा है - django, django-forms

सबमिट करने पर मॉडलफॉर्म फ़ील्ड नहीं ढूंढ रहा - django, django-form

वर्तमान में मेरे पास नए उपयोगकर्ता पंजीकरण को मान्य करने के लिए यह मॉडलफ़ॉर्म है:

class RegistrationForm(forms.ModelForm):
email = forms.CharField(max_length=75, required=True)
password = forms.PasswordInput()
password_confirm = forms.PasswordInput()

class Meta:
model = User
fields = ["username", "email", "password"]

def clean(self):
if self.password != self.password_confirm:
self.add_error("password_confirm", "Passwords do not match.")

उपयोगकर्ता को अपने पासवर्ड की पुष्टि करने के लिए आवश्यक है। इस फॉर्म को जमा करते समय मुझे निम्नलिखित त्रुटि मिलती है:

मान पर / रजिस्टर

"RegistrationForm" में "password_confirm" नाम का कोई फ़ील्ड नहीं है।

मैंने self.cleaned_data का उपयोग करने की कोशिश की, लेकिन फिर भी वही त्रुटि मिलती है।

फ़ील्ड विशेषता को हटाया नहीं जा सकता है और न ही इसमें पासवर्ड_कनेक्ट जोड़ा जा सकता है।

इसे कैसे ठीक किया जाएगा?

उत्तर:

जवाब के लिए 2 № 1

password तथा password_confirm विजेट के रूप में परिभाषित किए जाते हैं, फ़ील्ड नहीं बनाते हैं।

दो CharFields परिभाषित करें और विजेट तर्क पास करें:

class RegistrationForm(forms.ModelForm):
email = forms.CharField(max_length=75, required=True)
password = forms.CharField(widget=forms.PasswordInput)
password_confirm = forms.CharField(widget=forms.PasswordInput)

जवाब के लिए 2 № 2

आपको पहले सुपर क्लीन को कॉल करने की आवश्यकता है, और फिर आपको फ़ील्ड के बजाय साफ़ किए गए डेटा का उपयोग करना चाहिए।

def clean(self):
cleaned_data = super(RegistrationForm, self).clean()
if cleaned_data.get("password") != cleaned_data.get("password_confirm"):
self.add_error("password_confirm", "Passwords do not match.")