የዲጃንጎ ምዝገባ ምዝገባ እና ሥራ አለኝ ፡፡ በእሱ ላይ ሁለት ተጨማሪ ባህሪያትን ማከል እፈልጋለሁ እና የመግቢያ ሂደቱን ውስጣዊ አሠራር ለመረዳት ትንሽ ተቸግሬያለሁ ፡፡
1) አንድ ተጠቃሚ የማግበሪያ ኢሜሉን ጠቅ ሲያደርግ መለያው እንዲሠራ ያደርገዋል ግን አያደርገውም ተጠቃሚን ይግቡ ፣ የማደርገው አገናኝ ጠቅ ማድረግ ሁለቱም ሂሳቡን ንቁ ያደርገዋል እና በተጠቃሚው ውስጥ በራስ-ሰር እንዲመዘገብ ያደርጉታል? ይህ የእኔ ገቢር
ተግባር የሚመስለው በአሁኑ ጊዜ ነው -
def activate(self, request, activation_key):
activated = RegistrationProfile.objects.activate_user(activation_key)
if activated:
signals.user_activated.send(sender=self.__class__,
user=activated,
request=request)
login (request, activated) ### if I try this line, it throws an error 'User'
### object has no attribute 'backend
return activated
update : ክፍለ ጊዜዎችን በመጠቀም ይህን ሥራ ለመስራት ጠለፋ ማከል ቻልኩ። በእርግጥ እሱ ተስማሚው መፍትሄ አይደለም ፣ ግን እኔ ያለኝ ይኸው ነው
def register(self, request, **kwargs):
...
new_user.save()
request.session['username'] = username
request.session['password'] = password
return new_user
def activate(self, request, activation_key):
username = request.session['username']
password = request.session['password']
activated = RegistrationProfile.objects.activate_user(activation_key)
if activated:
signals.user_activated.send(sender=self.__class__,
user=activated,
request=request)
user = authenticate(username=username, password=password)
login(request, user)
return activated
2) አንድ ተጠቃሚ ሌላ አግብር ኢሜል ለመቀበል አንድ አዝራርን ጠቅ ማድረግ መቻል እንዲችል አንድ አማራጭ ማከል እፈልጋለሁ (የመጀመሪያውን ለመቀበል ካልቻለ) ) በሚመዘገብበት ጊዜ አግቢው ኢሜል የተላከው የሚከተለው ይመስላል -
signals.user_registered.send(sender=self.__class__,
user=new_user,
request=request)
የተጠቃሚው መለያ ቀድሞውኑ የተፈጠረ ስለሆነ ሌላ የማግበሪያ ኢሜልን እንዴት ላክል?