tornado 学习之GET POST方法 -- ()转

 1 import torndb
 2 import tornado.web
 3 import tornado.ioloop
 4 from tornado.options import define,options,parse_command_line
 5
 6 define(‘port‘,default=8888,help=‘run on the port‘,type=int)
 7 database=torndb.Connection(‘localhost‘,‘talk‘,user=‘root‘,password=‘ll‘)
 8 l=[]
 9 class MainHandler(tornado.web.RequestHandler):
10     def get(self):
11         self.render(‘a.html‘,title=‘haha‘,items=l)
12     def post(self):
13         count=1
14         print(self.request.remote_ip)
15         talk=self.get_argument(‘talk‘)
16         talk=str(talk)
17         database.execute(‘insert into chatting(id,content) values(%d,"%s")‘%(count,talk))
18         l.append(talk)
19         self.render(‘a.html‘,title=‘haha‘,items=l)
20 def main():
21     parse_command_line()
22     app=tornado.web.Application(
23             [
24                 (r‘/‘,MainHandler),
25                 ],
26             )
27
28     app.listen(options.port)
29     tornado.ioloop.IOLoop.instance().start()
30
31 if __name__==‘__main__‘:
32     main()  

以上代码是依照demo的风格写了个简单的小例子以说明get和post的方法使用

a.html的内容如下:

 1 <html>
 2     <head>
 3         <title>{{title}}</title>
 4     </head>
 5     <body>
 6         <form name=‘input‘ action=‘/‘ method=‘post‘>
 7         talk:
 8         <input type=‘text‘ name=‘talk‘/>
 9         <input type=‘submit‘ value=‘send‘/>
10       </form>
11         <ul>
12             {%for i in items%}
13             <li>{{escape(i)}}</li>
14             {%end%}
15         </ul>
16     </body>
17 </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方法 -- ()转,布布扣,bubuko.com

时间: 2024-12-25 12:31:43

tornado 学习之GET POST方法 -- ()转的相关文章

Java学习-025-类名或方法名应用之二 -- 统计分析基础

前文讲述了类名或方法的应用之一调试源码,具体请参阅:Java学习-025-类名或方法名应用之一 -- 调试源码 此文主要讲述类名或方法应用之二统计分析,通过在各个方法中插桩(调用桩方法),获取方法的调用关系.通过调用关系,我们可以统计出被调用次数比较多的方法,同时也可以构建全系统调用关系链:通过操作重要业务流程,可以统计组成重要业务流程的主要方法,加强相应的单元测试.功能.安全.性能等方面的测试.对于软件产品质量控制存在非凡的意义. 下面构建的演示示例调用关系如下所示: GetClassMeth

大龙的学习笔记之“虚方法,抽象方法,重写,抽象类,接口”

虚方法:可以重写,也可以不重写,英文名:virtual 抽象方法:必须重写,必须放在抽象类中,英文名:abstract 重写:可以重写三种方法:virtual,abstract,override,英文名:override 抽象类:可以有抽象方法,也可以有非抽象方法,英文名:abstract 接口:和抽象类相似,但是里面只有未实现的方法,英文名:interface 大龙的学习笔记之"虚方法,抽象方法,重写,抽象类,接口",布布扣,bubuko.com

Java学习-025-类名或方法名应用之一 -- 调试源码

上文讲述了如何获取类名和方法名,敬请参阅: Java学习-024-获取当前类名或方法名二三文 . 通常在应用开发中,调试或查看是哪个文件中的方法调用了当前文件的此方法,因而在实际的应用中需要获取相应的包名.类名.方法名.行数,从而快速定位,及统计方法被调用的次数,生成类方法关系链. 相信爱钻研的小主们,通过上篇文章,已经懂得了,如何获取主调方法.从调方法.那我直接上码了,敬请各位小主参阅,若有不足之处,敬请各位大神指正,不胜感激! GetClassMethodName.java 源码内容如下所示

Spring MVC学习之三:处理方法返回值的可选类型

转自:http://www.cnblogs.com/cuizhf/p/3810652.html ———————————————————————————————————————————————————————————— spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void.下面将对具体的一一进行说明: ModelAndView @RequestMapping("/show1") publ

学习编程语言最好的方法是什么

在问答 | 我适合做软件开发吗一文中,列出了当时汇总的7个问题,其中"我是否适合做软件开发"."怎样开始行动"."学哪种语言"这个问题都聊过了,这次我们来谈谈怎么学习的问题. 记得曾经在我的微信公众号"程序视界"发布过一篇题为"怎样新学一门技术的文章",里面讲了很多东西,现在看看也还有价值,推荐一下.这次呢,我想说的和那篇文章不一样,主要从下面两点来谈: 学习方法 效果度量 什么学习方法适合我? 知乎上有一

wxWidgets初学者导引(4)——wxWidgets学习资料及利用方法指导

wxWidgets初学者导引全目录   PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wxSmith进行可视化设计附:学习材料清单 4 wxWidgets学习资料及利用方法指导 初学者常苦于找不到参考资料.实际上,是找不到,不是没有.真正有用的资料,常常也就在手边,只是不知道.有能力熟练地使用一切能用得着的资料,这是水平提高的指标之一.这种能力,同样,也是在实践中获得,而不是有谁为你讲一堂课就能得

学习Linux系统的方法有很多,适合自己的才是最好

学习Linux系统的方法有很多,适合自己的才是最好. 综观现在互联网+的发展以及应用,作为一个从事IT行业的人员,应该懂得Linux占比多大份量,所以说,去掌握Linux是一种相当重要的谋生途径,当然,如果你对它产生情感那更好. 这篇文章主要是本人结合自身多年的工作经验,以及这么多年对Linux的理解,当然也离不开开源情怀,谈谈Linux的学习方法与学习中应该注意的一些事. 曾经的我,连Linux是什么都不知道.所以我们应该从最基础的学起,Linux入门其实很简单的,最大的问题是需要耐心,需要爱

学习zepto.js(原型方法)

学习zepto.js(原型方法)[1] 转载 新的一周,新的开始,今天来学习一下zepto里边的原型方法,就是通过$.进行调用的方法,也是可以通过$.fn进行扩展的方法: $.camelCase(): 方法接收一个字符串,将连字符格式的字符串转为驼峰格式的字符串: $.camelCase("login-name"); // ->loginName $.camelCase("loginName"); // ->不作处理 (本人发现zepto中的原型方法都是

ViewGroup学习onMeasure()和onLayout()方法

ViewGroup学习onMeasure()和onLayout()方法 自定义View之onMeasure() Android的onLayout.layout方法讲解 Android的 API之onLayout,onMesasure Android的onMeasure和onLayout的说明