标签:tornado python sqlite3 cookie 登录
基本的注册功能有用户名、密码和密码确认,当然邮箱确认和基本信息填写在高阶的时候完善,现在只完成基本功能。在register.html写如下内容:
{%extends ‘main.html‘%} {%block content%} <p class=‘text-danger‘>注册用户名不支持中文</p> <script src=‘static/checkpw.js‘></script> <form action=‘/register‘ method=‘post‘ class=‘well‘> <div class=‘form-group‘> <label>用户名</label> <input type=‘text‘ name=‘username‘ class=‘form-control‘/> </div> <div class=‘form-group‘> <label>密码</label> <input type=‘password‘ name=‘password‘ class=‘form-control‘/> </div> <div class=‘form-group‘> <label>确认密码</label> <input type=‘password‘ name=‘password2‘ class=‘form-control‘/> </div> <button type=‘submit‘ class=‘btn btn-primary‘ onclick=‘return checkpw()‘>注册</button> <a href=‘/‘>已有帐号,请直接登录</a> </form> {%end%}
下面要完成registerHandler,代码如下:
class registerHandler(tornado.web.RequestHandler): def get(self): self.render(‘register.html‘) def post(self): name=self.get_argument(‘username‘) pw=self.get_argument(‘password‘) res=check(name) if res: #用户名已存在 self.redirect(‘/register‘) else: insert(name,pw) self.set_cookie(‘hackerName‘,name) self.redirect(‘/‘)
CREATE TABLE user(id integer primary key,name text,pw text,level integer);
def check(name,pw=None): c.execute(‘select * from user‘) data=c.fetchall() if not pw: #没有密码,则查询用户是否存在 for i in data: if name==i[1]: return True return False else: #存在密码,则查询用户名和密码是否对应 for i in data: if name==i[1]: if pw==i[2]: return True else: return False return False #都不存在这个用户
转载请注明:转自http://blog.csdn.net/littlethunder/article/details/25533875
【从0开始Tornado建站】注册,布布扣,bubuko.com
标签:tornado python sqlite3 cookie 登录
原文地址:http://blog.csdn.net/littlethunder/article/details/25533875