qq_40185638
qq_40185638
2019-04-14 13:47
采纳率: 75%
浏览 527

为什么django在注册邮箱时填写的数据和录入数据库的数据不一致?

class RegisterView(View):
    """注册,类视图"""
    def get(self,request):
        return render(request,'register.html')
    def post(self,request):
        username = request.POST.get('user_name')
        password = request.POST.get('pwd')
        email = request.POST.get('email')

        allow = request.POST.get('allow')
        # 数据校验

        if not all([username, password, email]):
            return render(request, 'register.html', {'errmsg': '数据不完整'})

        if not re.match(r'^[a-z0-9][\w.\-]*@[a-z0-9\-]+(\.[a-z]{2,5}){1,2}$', email):
            return render(request, 'register.html', {'errmsg': '邮箱格式不正确'})

        if allow != 'on':
            return render(request, 'register.html', {'errmsg': '请勾选同意协议'})
        # 业务处理
        try:
            user = User.objects.get(username=username)
        except User.DoesNotExist:
            user = None
        if user:
            return render(request, 'register.html', {'errmsg': '用户已存在'})

        user = User.objects.create_user(username, password, email)

        user.is_active = 0
        user.save()
        #发送激活邮件,包含激活链接:http://127.0.0.1:8000/user/active/3
        #激活链接中需要包含用户的身份信息,并且要把身份信息加密

        #加密用户的身份信息,生成激活token
        serizer = Serializer(settings.SECRET_KEY,3600)
        info = {'confirm':user.id}
        token = serizer.dumps(info)
        token = token.decode()

        #发邮件
        send_register_active_email.delay(email,username,token)
        # 返回
        return redirect(reverse('goods:index'))
```使用Django框架编写注册页面,账户密码和邮箱录入数据库的时候,邮箱数据显示的却是密码
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • caozhy
    已采纳

    user = User.objects.create_user(username, password, email)
    这里调试输出下,看下username password获取的是什么,如果对的,那么就是数据库插入的地方错了,如果这里不对,就是前面错了,比如表单的名字搞错了。

    点赞 评论

相关推荐