def post(self): next = self.request.headers.get("Referer") if not next: next = self.get_argument('next', default='/') code = self.get_argument('c', default='') if not code: self.redirect(self.reverse_url('error', 4030)) return invitor_num = decode_url(code) invitor = yield members_db.find_one({'num':invitor_num}) if not invitor: self.send_error(status_code=404) error_msgs = [] remote_ip = self.request.remote_ip challenge = self.get_argument('recaptcha_challenge_field', default=None, strip=True) response = self.get_argument('recaptcha_response_field', default=None, strip=True) cResponse = captcha.submit(challenge, response, self.settings.recaptcha_pvk, remote_ip) if not cResponse.is_valid: error_msgs.append('验证码错误,请再试试.') account = self.get_argument('account', default=None, strip=True) password = self.get_argument('password', default=None) email = self.get_argument('email', default=None, strip=True) import re p = re.compile(r"^[a-zA-Z][a-zA-Z0-9_]{5,20}$", re.IGNORECASE) if not (p.search(account)): error_msgs.append('帐号为5-20个英文字符') error_msgs.append('数字不能在最前') else: #check if this account exists. try: member = yield members_db.find_one({'account':account}, fields=['account']) if member: error_msgs.append('这个帐号已经存在.如果您已经注册过但是忘记密码,您可以试试找回密码.') except Exception, e: error_msgs.append('服务出现错误,请稍后再试.')
def get(self): next = self.request.headers.get("Referer") if not next: next = self.get_argument('next', default='/') next = self.get_argument('next', default='/') code = self.get_argument('c', default='') if not code: self.redirect(self.reverse_url('error', 4030)) return member_num = decode_url(code) member = yield members_db.find_one({'num':member_num}) if not member: self.send_error(status_code=404) captcha_html = captcha.displayhtml(self.settings.recaptcha_puk) self.render(self.template_path+'join.html', captcha_html=captcha_html, next=next)