Пример #1
0
    def post(self):
        errors = [] # errors message container
        member = Member()
        post_values = ['name','pwd','cpwd','email']
        args = {}
        for v in post_values:
            # Get nessary argument
            # Use None as default if argument is not supplied
            args[v] = self.get_argument(v, None)

        # Set user name
        try:
            member.set_name(args['name'])
        except exception.NameError:
            errors.append(u"请填写用户名")
        except exception.DupKeyError:
            errors.append(u"用户名已经被使用")
        except exception.PatternMatchError:
            errors.append(u"你填写的用户名中有不被支持的字符")

        # Set user password
        if args['pwd'] != args['cpwd']:
            errors.append(u"两次输入的密码不一致")
        elif args['pwd'] is None and args['cpwd'] is None:
            errors.append(u"请填写密码")
        else:
            member.set_password(args['pwd'])

        # set user email
        try:
            member.set_email(args['email'])
        except ValueError:
            errors.append(u"请填写邮箱")
        except exception.DupKeyError:
            errors.append(u"邮箱已经被使用")
        except exception.PatternMatchError:
            errors.append(u"邮件地址格式不正确")

        if errors:
            self.render("register.html", 
                        title = u"注册", 
                        errors = errors,    
                        master = None)
        else:
            member.set_secret_key(randomwords(20))
            member.verify()
            member.put()
            self.set_cookie(name="auth", 
                            value=member.auth, 
                            expires_days = 365)
            self.redirect('/')
Пример #2
0
    def post(self):
        errors = []  # errors message container
        member = Member()
        post_values = ['name', 'pwd', 'cpwd', 'email']
        args = {}
        for v in post_values:
            # Get nessary argument
            # Use None as default if argument is not supplied
            args[v] = self.get_argument(v, None)

        # Set user name
        try:
            member.set_name(args['name'])
        except exception.NameError:
            errors.append(u"请填写用户名")
        except exception.DupKeyError:
            errors.append(u"用户名已经被使用")
        except exception.PatternMatchError:
            errors.append(u"你填写的用户名中有不被支持的字符")

        # Set user password
        if args['pwd'] != args['cpwd']:
            errors.append(u"两次输入的密码不一致")
        elif args['pwd'] is None and args['cpwd'] is None:
            errors.append(u"请填写密码")
        else:
            member.set_password(args['pwd'])

        # set user email
        try:
            member.set_email(args['email'])
        except ValueError:
            errors.append(u"请填写邮箱")
        except exception.DupKeyError:
            errors.append(u"邮箱已经被使用")
        except exception.PatternMatchError:
            errors.append(u"邮件地址格式不正确")

        if errors:
            self.render("register.html",
                        title=u"注册",
                        errors=errors,
                        master=None)
        else:
            member.set_secret_key(randomwords(20))
            member.verify()
            member.put()
            self.set_cookie(name="auth", value=member.auth, expires_days=365)
            self.redirect('/')