【从0开始Tornado建站】主页的登录和显示最新文章

来源:互联网 发布:网络舆情监测就业方向 编辑:程序博客网 时间:2024/04/28 10:01

        登录只要放在主页就可以了,这里为了美观,把<form>用bootstrap的form-inline类修饰,如下样子:


前台代码如下:

{%extends 'main.html'%}{%block header%}<ul class='nav nav-pills'><li><a href='/' class='h4 text-primary'>首页</a></li><li><a href='/member' class='h4 text-primary'>成员</a></li><li><a href='/chat/1' class='h4 text-primary'>群聊</a></li>{%if not cookieName%}<form action='/' method='post' class='form-inline'><div class='form-group'><label class='sr-only'>用户名</label><input type='text' name='username' class='form-control' placeholder='用户名'/></div><div class='form-group'><label class='sr-only'>密码</label><input type='password' name='password' class='form-control' placeholder='密码'/></div><button type='submit' class='btn btn-success'>登录</button><a href='/register'>无帐号,请点击注册</a></form>{%else%}<li><a href='/user/{{cookieName}}' class='h4 text-primary'>欢迎:{{cookieName}}</a></li><li><a href='/logout' class='h4 text-primary'>注销</a></li>{%end%}</ul>{%end%}{%block content%}<ul>{%for i in blogs%}<li><a href='/user/{{i[1]}}' class='text-success h4'>【{{i[1]}}】</a><a href='/blog/{{i[0]}}' class='text-primary h3'>{{i[2]}}</a></p><p class='text-muted h6'>{{i[3]}}</p></li><br/>{%end%}</ul>{%end%}

后台代码如下:

class indexHandler(tornado.web.RequestHandler):def get(self):name=self.get_cookie('hackerName')blogs=showAllBlog()self.render('index.html',cookieName=name,blogs=blogs)def post(self):name=self.get_argument('username')pw=self.get_argument('password')res=check(name,pw)if res: #密码正确self.set_cookie('hackerName',name)else: #密码错误passself.redirect('/')

showAllBlog函数是显示所有用户发表了的文章,定义如下:

def showAllBlog():c.execute('select id,name,title,time from blog')tmp=c.fetchall()return tmp[::-1]

按照发表时间排序,就是逆序输出。数据库blog表格定义如下:

CREATE TABLE blog(id integer primary key,name text,title text,blog text,time text);

    这样每个人发表的最新文章都会在主页显示,登录成功后主页显示如下:

点击用户名可以进入该用户的主页。


转载请注明:转自http://blog.csdn.net/littlethunder/article/details/25559095


1 0
原创粉丝点击