django-पंजीकरण 1.0 के लिए डीजेंगो-पंजीकरण 1.0 फॉर्म सबक्लासिंग django 1.5 कस्टम उपयोगकर्ता मॉडल के लिए समर्थन है। डीजेंगो-पंजीकरण दस्तावेज में केवल निम्नलिखित एफएक्यू आइटम हैं:django 1.5 कस्टम उपयोगकर्ता मॉडल
मैं Django 1.5 और एक कस्टम उपयोगकर्ता मॉडल का उपयोग कर रहा हूं; मैं यह काम कैसे करूं?
हालांकि Django पंजीकरण के साथ आपूर्ति की दोनों मान Django के डिफ़ॉल्ट उपयोगकर्ता मॉडल दो में निर्मित बैकेंड, आधार दृश्य कक्षाएं जानबूझकर उपयोगकर्ता के मॉडल-नास्तिक हैं। बस उन्हें उपclass, और अपने कस्टम उपयोगकर्ता मॉडल के लिए तर्क लागू करें।
मुझे यकीन नहीं है कि मुझे कौन से विचारों को उपclass करने की आवश्यकता है और उनमें क्या जाना चाहिए। मैंने यह भी देखा है कि ProfileManager
डीजेंगो-पंजीकरण में अभी भी एक अलग उपयोगकर्ता नाम फ़ील्ड मानता है।
मेरी विशिष्ट मामले में, मुझे 'उपयोगकर्ता नाम' फ़ील्ड हटा दिया है, एक 'display_name' जोड़ा, और बना दिया 'ईमेल' की पहचान क्षेत्र:
class MyUser(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(
verbose_name="Email Address",
max_length=384,
unique=True,
db_index=True,)
display_name = models.CharField(max_length=128, blank=True)
date_joined = models.DateTimeField(default=timezone.now)
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
objects = MyUserManager()
USERNAME_FIELD = 'email'
def get_full_name(self):
return self.email
def get_short_name(self):
return self.email
def __unicode__(self):
return self.email
def has_perm(self, perm, obj=None):
return True
def has_module_perms(self, app_label):
return True
@property
def is_staff(self):
return self.is_admin
किसी भी Django पंजीकरण कक्षाएं, उपवर्गीकरण बिना पंजीकरण फॉर्म का डिफ़ॉल्ट प्रतिपादन User
से MyUser
के बजाय फ़ील्ड में खींचता है।
मैंने निम्नलिखित SO धागा django-registration app and Django 1.5 custom user model देखा है, लेकिन इससे मदद नहीं मिली।
अद्यतन
मैंने देखा है कि RegistrationForm 'उपयोगकर्ता नाम' फ़ील्ड से hardcoded है। एफएक्यू केवल बैकएंड को उप-वर्गीकरण का उल्लेख करता है, इसलिए मुझे यकीन नहीं है कि इरादा क्या है। क्या मुझे फॉर्म को भी उप-वर्ग करना चाहिए?
कृपया इस के लिए प्रतिबद्ध एक नजर है - https://bitbucket.org/LinnTroll/django-registration-1.5/commits/c71d5b8e273551cffdfc7869545430e3 !! आपको इसके लिए 'डिफ़ॉल्ट बैकएंड', 'पंजीकरणफॉर्मफ्रूउसर मॉडल' के साथ-साथ 'पंजीकरण प्रबंधक' को उप-वर्गीकृत करने की आवश्यकता है। – pankaj28843
क्या आपने AUTH_USER_MODEL को सेटिंग.py में नए कस्टम उपयोगकर्ता मॉडल में बदल दिया है? – Wei
आप क्या कर रहे हैं? मैं बस इसे 'हैंडल' टेम्पलेट टैग का उपयोग करने के बजाय पंजीकरण फ़ॉर्म में फ़ील्ड को स्पष्ट रूप से परिभाषित करने के बारे में सोच रहा हूं। आदर्श नहीं है, लेकिन मुझे लगता है कि यह सबसे आसान विकल्प हो सकता है। – bnjmn