微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在django中确认我的电子邮件后,帐户未激活

如何解决在django中确认我的电子邮件后,帐户未激活

我在django中编写了一些有关通过验证电子邮件进行注册代码,并且该电子邮件已发送给我,并且我确认了,但是我的帐户未激活。 我不知道问题出在我的激活功能上还是什么 这是我得到的错误

enter image description here

这是我的激活功能

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 举报,一经查实,本站将立刻删除。