tornado 学习之GET POST方法 -- (转)
import torndb
import tornado.web
import tornado.ioloop
from tornado.options import define,options,parse_command_line define('port',default=8888,help='run on the port',type=int)
database=torndb.Connection('localhost','talk',user='root',password='ll')
l=[]
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.render('a.html',title='haha',items=l)
def post(self):
count=1
print(self.request.remote_ip)
talk=self.get_argument('talk')
talk=str(talk)
database.execute('insert into chatting(id,content) values(%d,"%s")'%(count,talk))
l.append(talk)
self.render('a.html',title='haha',items=l)
def main():
parse_command_line()
app=tornado.web.Application(
[
(r'/',MainHandler),
],
) app.listen(options.port)
tornado.ioloop.IOLoop.instance().start() if __name__=='__main__':
main()
以上代码是依照demo的风格写了个简单的小例子以说明get和post的方法使用
a.html的内容如下:
<html>
<head>
<title>{{title}}</title>
</head>
<body>
<form name='input' action='/' method='post'>
talk:
<input type='text' name='talk'/>
<input type='submit' value='send'/>
</form>
<ul>
{%for i in items%}
<li>{{escape(i)}}</li>
{%end%}
</ul>
</body>
</html>
说明:
<第一次访问网站时采用get方法,之后由于在html中采用form表单且方法使用的post,所以后来的传递数据全用post方法>
浏览器打开localhost:8888的时候,发出get请求,请求根目录"/",根据tornado.web.Application中参数列表中元组对(r'/',MainHandler),于是找到MainHandler类,这个类继承了tornado.web.RequestHandler类,但是TA里面没有定义get和post方法(具体可以看源码),所以在MainHandler类中定义。由于我只在用户第一次访问网站时处理get方法,所以就是render a.html 就可以了。之后传递数据全用post方法,并把网页上输入的数据存放到数据库中。
浏览器显示如下:
数据库中显示如下:
终端显示如下:
tornado 学习之GET POST方法 -- (转)的更多相关文章
- Tornado学习笔记(一) helloword/多进程/启动参数
前言 当你觉得你过得很舒服的时候,你肯定没有在进步.所以我想学习新的东西,然后选择了Tornado.因为我觉得Tornado更匹配目前的我的综合素质. Tornado学习笔记系列主要参考<int ...
- Tornado 自定义Form,session实现方法
一. 自定义Tornado 验证模块 我们知道,平时在登陆某个网站或软件时,网站对于你输入的内容是有要求的,并且会对你输入的错误内容有提示,对于Django这种大而全的web框架,是提供了form表单 ...
- MVC学习系列4--@helper辅助方法和用户自定义HTML方法
在HTML Helper,帮助类的帮助下,我们可以动态的创建HTML控件.HTML帮助类是在视图中,用来呈现HTML内容的.HTML帮助类是一个方法,它返回的是string类型的值. HTML帮助类, ...
- 基于孪生卷积网络(Siamese CNN)和短时约束度量联合学习的tracklet association方法
基于孪生卷积网络(Siamese CNN)和短时约束度量联合学习的tracklet association方法 Siamese CNN Temporally Constrained Metrics T ...
- 学习linux/unix编程方法的建议(转)
假设你是计算机科班出身,计算机系的基本课程如数据结构.操作系统.体系结构.编译原理.计算机网络你全修过 我想大概可以分为4个阶段,水平从低到高从安装使用=>linux常用命令=>linux ...
- tornado 学习笔记1 引言
从事软件开发这行业也快5年啦,其实从事的工作也不完全是软件开发,软件开发只是我工作中的一部分.其中包括课题研究.信息化方案设计.软件开发.信息系统监理.项目管理等工作,比较杂乱.开发的软件比较多,但是 ...
- Java学习-026-类名或方法名应用之二 -- 统计分析基础
前文讲述了类名或方法的应用之一调试源码,具体请参阅:Java学习-025-类名或方法名应用之一 -- 调试源码 此文主要讲述类名或方法应用之二统计分析,通过在各个方法中插桩(调用桩方法),获取方法的调 ...
- Java学习-025-类名或方法名应用之一 -- 调试源码
上文讲述了如何获取类名和方法名,敬请参阅: Java学习-024-获取当前类名或方法名二三文 . 通常在应用开发中,调试或查看是哪个文件中的方法调用了当前文件的此方法,因而在实际的应用中需要获取相应的 ...
- 学习zepto.js(原型方法)
学习zepto.js(原型方法)[1] 转载 新的一周,新的开始,今天来学习一下zepto里边的原型方法,就是通过$.进行调用的方法,也是可以通过$.fn进行扩展的方法: $.camelCase(): ...
随机推荐
- 多线程Worker初尝试
多线程这个概念,不知道听了多少遍.但是真滴没有去实操过. 前几天看视频听到作者说道关注技术本身,而不是总写业务代码.这几天依然思考着这个问题.于是从头开始重现了html文件的堵塞问题,重现了html文 ...
- netbeans调试配置
apache端口8050,xdebug端口9000 1.把项目放到apache的htdocs下(一定要放在htdocs上,要么调试的时候xdebug会一直卡在“等待连接中”) 2.把php_xdebu ...
- C/S结构
C/S结构 编辑 同义词 C/S架构一般指C/S结构 C/S 结构,即大家熟知的客户机和服务器结构.它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Serv ...
- Android studio出现Error:Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Request"的解决办法
最近更新了一下Android Studio(下文简写成AS),然后打开工程发现出现Error:Unable to tunnel through proxy. Proxy returns "H ...
- getline读取整行文本// isprint
getline——读取整行文本 这个函数接受两个参数:一个输入流对象和一个string对象.getline函数从输入流的下一行读取,并保存读取的内容到string中,但不包括换行符.和输入操作符不一样 ...
- 【bzoj4641】基因改造 特殊匹配条件的KMP
题目描述 如果两个长度相等的字符串,如果存在一种字符的一一映射,使得第一个字符串的所有字符经过映射后与第二个字符串相同,那么就称它们“匹配”.现在给出两个串,求第一个字符串所有长度等于第二个字符串的长 ...
- 【bzoj2938】[Poi2000]病毒 AC自动机
题目描述 二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码.如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的.现在委员会已经找出了所有的病毒代码段,试问,是否 ...
- BZOJ4773 负环(floyd+倍增)
倍增floyd求出经过<=2k条边时两点间最短路,一个点到自身的最短路就是包含该点的最小环.然后倍增找答案即可.注意初始时到自身的最短路设为0,这样求出的最短路就是经过<=2k条边的而不是 ...
- 洛谷 P1108 低价购买 解题报告
P1108 低价购买 题目描述 "低价购买"这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:"低价购买:再低价购买&quo ...
- lighttpd - 配置
Lighttpd core 配置 connection.kbytes-per-second 限制每一个链接的速度etag.use-inode Etag使用i ...