Exemplo n.º 1
0
 def post(self):
     
     username = self.get_argument('username')
     email = self.get_argument('email')
     password1 = self.get_argument('password1')
     password2 = self.get_argument('password2')
     
     wrong_tips = [''] * 4
     zerotip = '这个字段是必填项'
     if len(username) == 0:
         wrong_tips[0] = zerotip
     else:
         user = self.session.query(User).filter_by(uname = username).first()
         if user:
             wrong_tips[0] = '称号已被注册'
     if len(email) == 0:
         wrong_tips[1] = zerotip
     else:
         user = self.session.query(User).filter_by(uemail = email).first()
         if user:
             wrong_tips[1] = '用户已经存在'
     if len(password1) == 0:
         wrong_tips[2] = zerotip
     elif len(password1) < 6:
         wrong_tips[2] = '确保该值不少于 6 个字符 (现在有 ' + str(len(password1)) + ' 个)'
     if len(password2) == 0:
         wrong_tips[3] = zerotip
     elif password2 != password1:
         wrong_tips[3] = '密码不匹配'
     
     status = 'error'
     if wrong_tips == ['']*4:
         status = 'success'
         encryptPwd = self.pwdEncrypt(email, password1)
         user = User()
         user.uname = username
         user.uemail = email
         user.upwd = encryptPwd
         user.uavatar = gravatar.getGravatarHash(email)
         user.ucreatedate = datetime.now()
         
         self.session.add(user)
         self.session.commit()
         self.set_current_user(user.uemail)
         
     self.write(escape.json_encode({'status':status, 'wrong_tips':wrong_tips}))