【从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='/user/{{i[1]}}' class='text-success h4'>【{{i[1]}}】</a> ({{i[3]}}) : {{i[2]}}</li>
{%end%}
</ul>
<ul class='pagination'>
{%for i in range(1,pages+1)%}
<li {%if int(num)==i%}class='active'{%end%}><a href='/chat/{{i}}'>{{i}}</a></li>
{%end%}
</ul>
</br>
</br>
<form action='/chat/1' method='post' class='well form-search'>
<label class='sr-only'>发表新贴</label><input type='text' name='topic' placeholder='发表新贴...'/>
<button type='submit' class='btn btn-danger'>发送</button>
</form>
{%end%}
后台代码:
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
【从0開始Tornado建站】群聊的更多相关文章
- 【从0開始Tornado建站】0.9版本号python站点代码开源--持续更新中
从5月份開始[从0開始Tornado建站]这个专栏,開始一点一点把这个分类兴趣站点弄起来,从无到有的过程也是令人兴奋的:-) 国庆的时候等待备案然后上线,如今站点域名为ustchack ...
- 【从0開始Tornado建站】整体设计
Tornado是一个非堵塞的webserver,也是python的web框架中很优秀的一款.网上关于django的tutorial许多并且具体,关于tornado的使用就很少了.我想以我从0開始的方式 ...
- 【从0開始Tornado建站】发表文章和评论
先上个效果图: 这是每一个用户的主页.由于是基本功能.所以用户头像.爱好等信息都还没有,在下一阶段加上.右側"发表新文章"按钮点击后进入发表文章的页面: 之前尝试过 ...
- 【从0開始Tornado建站】显示全部注冊用户
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/littlethunder/article/details/25559749 显示注冊 ...
- 从0開始写MyScrollView
从0開始写MyScrollView 上篇文章对ScrollView的详细实现进行了分析.本文依据上篇分析的结果.自己动手写一个ScrollView. step1 尾随手指滑动,非常easy.重写2个函 ...
- 从0開始学习 GitHub 系列之「07.GitHub 常见的几种操作」
之前写了一个 GitHub 系列,反响非常不错,突然发现居然还落下点东西没写,前段时间 GitHub 也改版了,借此机会补充下. 我们都说开源社区最大的魅力是人人多能够參与进去,发挥众人的力量,让一个 ...
- 从今天開始学习iOS开发(iOS 7版)--实现一款App之Foundation框架的使用
iOSFoundation框架 当你着手为你的应用编写代码的时候,你会发现有很多可供使用的Objective-C的框架类,当中尤其重要的就是基础框架类.它为平台全部的应用提供基础服务.基础框架类中包括 ...
- SignalR实现消息推送,包括私聊、群聊、在线所有人接收消息(源码)
一.关于SignalR 1.简介:Signal 是微软支持的一个运行在 Dot NET 平台上的 html websocket 框架.它出现的主要目的是实现服务器主动推送(Push)消息到客户端页面, ...
- java基于socket的网络通信,实现一个服务端多个客户端的群聊,传输文件功能,界面使用Swing
最近在复习java的io流及网络编程.但复习写那些样板程序总是乏味的.便准备写个项目来巩固.想来想去还是聊天项目比较好玩.如果日后完成的比较好自己也可以用(哈哈哈).并且自己后面也要继续巩固java多 ...
随机推荐
- SGU 187.Twist and whirl - want to cheat( splay )
维护一个支持翻转次数M的长度N的序列..最后输出序列.1<=N<=130000, 1<=M<=2000 splay裸题... ------------------------- ...
- Struts学习之模型驱动
* 要从页面中获取表单元素的值,需要在动作类中声明与页面元素同名的属性.导致动作类中既有javabean又有业务方法. * 将javabean和业务方法进行分离: * 将重新创建一 ...
- Oracle游标使用详解
转自:http://www.cnblogs.com/sc-xx/archive/2011/12/03/2275084.html 声明游标:CURSOR cursor_name IS select_st ...
- Django Web开发【6】使用Ajax增强用户体验
Ajax及其优点 Ajax实际上就是指异步Javascript与XML,它包含以下技术: HTML与CSS Javascript XMLHttpRequest XML Ajax技术让客户端与服务器实现 ...
- 5.7.1.4 window对象
ECMAScript虽然没有指出如何直接访问Global对象,但web浏览器都是将这个全局对象作为window对象的一部分加以实现的.因此,在全局作用域中声明的所有变量和函数,就都成为了window对 ...
- 初来乍到--------smarty
Smarty Day01-----smarty的使用 作用:把php+html分离,程序和美工 使用: 1.下载源码包 2.目录结构 libs 源码文件 Smarty.class.php templa ...
- ASP.NET MVC 项目分离
ASP.NET MVC 项目分离 说明: ZRT.Web 是前台网站,目录[D:\ZRT.Web\] ZRT.Admin 是后台管理,目录[D:\ZRT.Web\Applications\Admin\ ...
- Java—异常处理总结
异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点,从C开始,你也许已经知道如何用if...else...来控制异常了,也许是自发的,然而这种控制异常痛苦,同一个异常或者错误如果多个地方出 ...
- BZOJ 1717 [Usaco2006 Dec]Milk Patterns 产奶的模式(后缀数组)
[题目链接]http://www.lydsy.com/JudgeOnline/problem.php?id=1717 [题目大意] 求一个最长的串,使得其在母串中出现的次数达到要求 [题解] 二分答案 ...
- Stitch Fix 融资1200万美元,又一个时尚创业的哈佛女MBA |华丽志
Stitch Fix 融资1200万美元,又一个时尚创业的哈佛女MBA |华丽志 Stitch Fix 融资1200万美元,又一个时尚创业的哈佛女MBA