authentication - Setting Age Restrictions with django-user-accounts -
मैं खाते पर एक आयु प्रतिबंध सेट करना चाहता हूं साइन अप प्रक्रिया django-user-accounts
। मैंने SignupForm को एक फ़ील्ड जोड़ा है जैसे कि उदाहरण में। मेरे पसंदीदा दृश्य में मेरे पास निम्न है:
आयात करें user_accounts_custom.forms profile.models से आयात करें ArtistProfile, datetime आयात दिनांक आयात गणित वर्ग SignupView (SignupView) से UserProfile: form_class = user_accounts_custom.forms.SignupForm Def create_user (स्वयं, फॉर्म, कमिशन = ट्रू, ** क्वार्ज): पुरानी_सुन = self.birthday_check (फॉर्म) अगर पुराना_अनुप: वापसी सुपर (साइनअपदृश्य, स्वयं) .create_user (स्वयं, फ़ॉर्म, प्रतिबद्ध = सत्य, ** kwargs) else : वापसी सुपर (साइनअपदृश्य, स्वयं) .create_user (स्वयं, फ़ॉर्म, प्रतिबद्ध = गलत, ** kwargs) डीईआर जन्मदिन_चेक (स्वयं, फॉर्म): जन्मदिन = form.cleaned_data ["जन्मदिन"] fraud_detect = abs (date.today () - जन्मतिथि) यदि ((धोखाधड़ी_अंडेक्ट्स / 365.0) 13): # क्या बच्चों के बारे में !!!! वापसी गलत: वापसी True
गलत करने के लिए सेटिंग मुझे साइनअपदृश्य इंस्टेंस पर विधि में एक प्रकार की त्रुटि दे रही है क्योंकि यह एक उपयोगकर्ता ऑब्जेक्ट वापस करने का प्रयास करता है, लेकिन जैसे कि मैं चाहता था एक नहीं बनाया मैं HttpResponseForbidden ऑब्जेक्ट या संदेश भेजना चाहता हूं लेकिन मुझे यकीन नहीं है कि संदर्भ को यहां कैसे लागू किया जाए। मैं जो अन्य विकल्प पर विचार कर रहा हूं, वह डमी उपयोगकर्ता ऑब्जेक्ट (विशेषकर मेरा बेनामी उपयोगकर्ता ऑब्जेक्ट) का उपयोग कर रहा है और एक खाता बनाने के बिना बस पुन: निर्देशित करता है; मुझे यकीन नहीं है कि कौन सा पथ सरल है।
इससे मुझे समस्या का समाधान करने में मदद मिली है, यहां यह है कि मैं कैसे इसे लागू किया गया:
<पूर्व> def साफ (स्वयं): cleaned_data = super (SignupForm, self) .clean () bday = self.cleaned_data ["जन्म तिथि"] fraud_detect = abs (date.today () - बीएडीई) यदि ((धोखाधड़ी_अनुक्रमों / 365.0) 13): # क्या बच्चों के बारे में !!!! फॉर्मेट बढ़ाएं। वैधता त्रुटि ("क्षमा करें, आप कोई खाता नहीं बना सकते हैं।", Code = "too_young"), cleaned_data लौटें
यह चाल को साफ़ करना था () विधि
forms.py
में मुझे django-user-accounts
को अनुकूलित करने के लिए बनाया गया है।
सत्यापन के लिए कुछ अतिरिक्त लिंक ( नोट : ये लिंक डीजेंगो कोड> संस्करण 1.6 पर जाएं):
Comments
Post a Comment