6
我有一个django注册和工作。我想添加两个附加功能,并且在理解登录过程的内部工作方面有点困难。自动登录并重新发送电子邮件
1)当用户点击激活电子邮件时,它会使帐户处于活动状态,但不会将用户登录,因此如何点击激活链接以激活帐户并自动登录用户?这是目前我的什么功能activate
样子 -
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
更新:我可以添加一个黑客得到这个工作,通过会议。当然,它不是理想的解决方案,但这里是我 -
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)
我怎么会派给用户帐户中的另一个激活邮件已经被创造出来的?
将send_activation_email工作重新发送激活链接过程? – Ashiya 2014-12-06 12:12:52