首页 > 代码库 > 【从0开始Tornado建站】群聊
【从0开始Tornado建站】群聊
群聊的前台主要代码:
{%block content%} <!--<p class=‘text-success h3‘>测试版本,每天凌晨4:00清水,enjoy it~~:-)</p>--> <ul> {%for i in content[19*int(num)-19:19*int(num)]%} <li class=‘text-info‘><a href=http://www.mamicode.com/‘/user/{{i[1]}}‘ class=‘text-success h4‘>【{{i[1]}}】 ({{i[3]}}) : {{i[2]}}>
后台代码:class chatHandler(tornado.web.RequestHandler): def get(self,num): #num第几页 name=self.get_cookie(‘hackerName‘) chats=showChat() n=len(chats) if n%20==0: pages=n//20 #pages总页数 else: pages=n//20+1 self.render(‘chat.html‘,cookieName=name,content=chats,pages=pages,num=num) def post(self,num): name=self.get_cookie(‘hackerName‘) if not name: return #在javascript 中判断是否已登录 newTopic=self.get_argument(‘topic‘) insertChat(name,newTopic) self.redirect(‘/chat/1‘)
showChat函数定义如下:def showChat(): c.execute(‘select * from chat‘) tmp=c.fetchall() return tmp[::-1] #逆序,最新贴放在最上面
insertChat函数定义如下:def insertChat(name,content): now=getTime() c.execute(‘insert into chat(name,content,time) values("‘+name+‘","‘+content+‘","‘+now+‘")‘) db.commit()
效果图如下:
群聊内容是按时间逆序排的,最新的在最上面,满20条就增加一页,默认的群聊首页就是/chat/1,即第一页。这里实现的只是基本功能,之后还要加上实时刷新ajax,新消息提示,都是前端的东西,在基本功能全部实现后加上去。
转载请注明:转自http://blog.csdn.net/littlethunder/article/details/25560003
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。