qq_40185638 2019-04-14 13:47 采纳率: 0%
浏览 542
已采纳

为什么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条回答 默认 最新

  • threenewbee 2019-04-14 13:50
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵