tornado 3.0.1 学习之GET POST方法
2013-05-15 14:29
232 查看
关于tornado网上的教程几乎没有,主要是官方的demo和doc,然后就是tornado自己的源码。不过我觉得这也够了,如果像django那样庞大而且提供一步一步的tutorial,但照着做完也还是搬砖码字的,还是不知所以然。对,django也可以看源码看细节,但重度的耦合关系很打击初学者的,所以以tornado开始,是非常正确的,而且tornado的灵活性可扩展性以及与nginx搭配后接近完美的性能,让人着迷。现在正式开始。
我依照demo的风格写了个简单的小例子以说明get和post的方法使用:
a.html的内容如下:
浏览器打开localhost:8888的时候,发出get请求,请求根目录"/",根据tornado.web.Application中参数列表中元组对(r'/',MainHandler),于是找到MainHandler类,这个类继承了tornado.web.RequestHandler类,但是TA里面没有定义get和post方法(具体可以看源码),所以在MainHandler类中定义。由于我只在用户第一次访问网站时处理get方法,所以就是render a.html 就可以了。之后传递数据全用post方法,并把网页上输入的数据存放到数据库中。
浏览器显示如下:
数据库中显示如下:
终端显示如下:
转载请注明:转自 /article/1590083.html
我依照demo的风格写了个简单的小例子以说明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()
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>
浏览器打开localhost:8888的时候,发出get请求,请求根目录"/",根据tornado.web.Application中参数列表中元组对(r'/',MainHandler),于是找到MainHandler类,这个类继承了tornado.web.RequestHandler类,但是TA里面没有定义get和post方法(具体可以看源码),所以在MainHandler类中定义。由于我只在用户第一次访问网站时处理get方法,所以就是render a.html 就可以了。之后传递数据全用post方法,并把网页上输入的数据存放到数据库中。
浏览器显示如下:
数据库中显示如下:
终端显示如下:
转载请注明:转自 /article/1590083.html
相关文章推荐
- tornado 学习之GET POST方法 -- (转)
- Spider网络爬虫学习——通过Get、Post方法直接抓取网页内容
- 黑马程序员之ASP.NET学习笔记: Http方法:Get请求与Post请求的区别
- Tornado 中的 get() 或 post() 方法
- jquery 学习日志 - AJAX get() 和 post() 方法
- Android HttpUrlConnection 的“POST”和"GET"方法学习心得
- 第二百五十八节,Tornado框架-逻辑处理get()方法和post()方法,初识模板语言
- tornado的GET POST方法样品展示
- PHP学习:$_GET,$_POST,$_REQUEST和$_SERVER的一些用法,以及parse_str方法
- tornado的GET POST方法示例
- 从项目学习(一)之 XmlHttpRequest的Get,Post方法
- 深入理解JQuery中$.get()、$.post()、$.getJSON()、$.ajax()方法
- http中post 和 get 请求方法区别
- HTTP 方法:GET 对比 POST
- 在servlet中GET请求可以通过HttpServletRequest的getRequestURL方法和getQueryString()得到完整的请求路径和请求所有参数列表,POST的需要getPa
- 学习笔记---取得枚举项的2种方法: Enum.GetValues()-Array.GetValue()和Enum.GetNames()-Enum.Parse()
- 详解php用curl调用接口方法,get和post两种方式
- http协议中get和post方法的优点和缺点
- VC实现HTTP协议的GET和POST方法
- ASP.NET中get方法和post方法的区别