如何解决在django中确认我的电子邮件后,帐户未激活
我在django中编写了一些有关通过验证电子邮件进行注册的代码,并且该电子邮件已发送给我,并且我确认了,但是我的帐户未激活。 我不知道问题出在我的激活功能上还是什么 这是我得到的错误:
这是我的激活功能:
def activate(request,uidb64,token):
try:
uid = force_text(urlsafe_base64_decode(uidb64))
user = User.objects.get(pk=uid)
except(TypeError,ValueError,OverflowError,User.DoesNotExist):
user = None
if user is not None and acc_activation.check_token(user,token):
user.is_active = True
user.save()
login(request,user)
# return redirect('home')
return HttpResponse('Thank you for your email confirmation. Now you can login your account.')
else:
return HttpResponse('Activation link is invalid!')
和我的activation_email.HTML代码:
{% autoescape off %}
Hi {{ user.username }},pleace click here to confirm your registration,http://{{ domain }}{% url 'activate' uidb64=uid token=token %}
{% endautoescape %}
解决方法
在您的逻辑中添加user.profile.email_confirmed = True
。
if user is not None and acc_activation.check_token(user,token):
user.is_active = True
user.profile.email_confirmed = True
user.save()
login(request,user)
# return redirect('home')
return HttpResponse('Thank you for your email confirmation. Now you can login your account.')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。