def login(req): email = req.get_form_var("email", '').rstrip() if req.get_method() == 'POST': password = req.get_form_var("password", '') error = None if not is_validate_email(email): error = "请输入合法的邮箱" if not password: error = "请输入密码" elif len(password) < 4 or not password.isalnum(): error = "密码请用长于4位的字母数字组合" if not error: u = User.get_by_email(email) if req.get_form_var("login", None): if not u: error = "该邮箱还未注册" else: u = User.login(email, password) if u: set_session(req, u) return req.redirect("/") else: error = "邮箱和密码不匹配" elif req.get_form_var("register", None): if u: error = "该邮箱已经注册,请直接登录" else: u = User.register(email, password) if u: set_session(req, u) return req.redirect("/") else: error = "注册失败..." return st("/login.html", **locals())