በራስ-ሰር በመለያ ይግቡ እና ኢሜልን እንደገና ይላኩ

የዲጃንጎ ምዝገባ ምዝገባ እና ሥራ አለኝ ፡፡ በእሱ ላይ ሁለት ተጨማሪ ባህሪያትን ማከል እፈልጋለሁ እና የመግቢያ ሂደቱን ውስጣዊ አሠራር ለመረዳት ትንሽ ተቸግሬያለሁ ፡፡

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)

የተጠቃሚው መለያ ቀድሞውኑ የተፈጠረ ስለሆነ ሌላ የማግበሪያ ኢሜልን እንዴት ላክል?

6
задан David542 3 June 2011 в 04:24
поделиться