User signup (HTML and Python),signuppython,[Python]代码#!
User signup (HTML and Python),signuppython,[Python]代码#!
[Python]代码
#!/usr/bin/env python## Copyright 2007 Google Inc.## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.#import webapp2import stringimport reUSER_RE = re.compile(r"^[a-zA-Z0-9_-]{3,20}$")PASSWORD_RE = re.compile(r"^.{3,20}$")EMAIL_RE = re.compile(r"^[\S]+@[\S]+\.[\S]+$")form_signup="""<form method="post"> <div><b>Signup</b></div> <br> <label> Username <input type="text" name="username" value="%(username)s"> <div style="color: red">%(error_username)s</div> </label> <br> <label> Password <input type="password" name="password" value="%(password)s"> <div style="color: red">%(error_password)s</div> </label> <br> <label> Verify Password <input type="password" name="verify" value="%(verify)s"> <div style="color: red">%(error_verify)s</div> </label> <br> <label> Email (optional) <input type="text" name="email" value="%(email)s"> <div style="color: red">%(error_email)s</div> </label> <br> <input type="submit"></form>"""class MainHandler(webapp2.RequestHandler): def get(self): self.response.out.write('Hello, Udacity!')class SignupHandler(webapp2.RequestHandler): def valid_username(self, username): if USER_RE.match(username): return "" else: return "That's not a valid username." def valid_password(self, password, verify): if PASSWORD_RE.match(password): error_password = "" else: error_password = "That wasn't a valid password." if cmp(password, verify) == 0: error_verify = "" else: error_verify = "Your password didn't match." return (error_password, error_verify) def valid_email(self, email): if EMAIL_RE.match(email) or len(email) == 0: return "" else: return "That's not a valid email." def write_form(self, username="", password="", verify="", email="", error_username="", error_password="", error_verify="", error_email=""): self.response.out.write(form_signup %{"username": username, "password": password, "verify": verify, "email": email, "error_username": error_username, "error_password": error_password, "error_verify": error_verify, "error_email": error_email}) def get(self): self.write_form() def post(self): user_name = self.request.get('username') user_password = self.request.get('password') user_verify = self.request.get('verify') user_email = self.request.get('email') error_username = self.valid_username(user_name) error_password, error_verify = self.valid_password(user_password, user_verify) error_email = self.valid_email(user_email) if (error_username or error_password or error_verify or error_email): self.write_form(user_name, user_password, user_verify, user_email, error_username, error_password, error_verify, error_email) else: self.redirect("/unit2/welcome?username=" + user_name)class WelcomeHandler(webapp2.RequestHandler): def get(self): username = self.request.get('username') self.response.out.write("Welcome, %s!" %username)app = webapp2.WSGIApplication([('/', MainHandler), ('/unit2/signup', SignupHandler), ('/unit2/welcome', WelcomeHandler)], debug=True)
相关内容
- 基于python的web表单提交方法,pythonweb表单,[Python]代码
- rsync同步管理工具,rsync同步工具,[Python]代码#/
- 有一位农场主的遗嘱:第1个儿子分100美元和剩下财产的
- django 获取用户输入,django获取用户,[Python]代码#u
- 一些两位数加上18,它们的个、十位恰好位置对调了,
- 生成文件的MD5和sha1,生成文件MD5sha1,生成文件的MD5和
- 批量转换html内的&amp;#XXXXX;为中文,且转换文件编
- python用户登陆邮件通知,python邮件通知,[Python]代码#!
- Python 压缩文件(1),python压缩文件,import os i
- python抓取百度音乐盒榜单的音乐,python抓取,[Python]代码
评论关闭