tornado 3.0.1 学习之GET POST方法

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

        关于tornado网上的教程几乎没有,主要是官方的demo和doc,然后就是tornado自己的源码。不过我觉得这也够了,如果像django那样庞大而且提供一步一步的tutorial,但照着做完也还是搬砖码字的,还是不知所以然。对,django也可以看源码看细节,但重度的耦合关系很打击初学者的,所以以tornado开始,是非常正确的,而且tornado的灵活性可扩展性以及与nginx搭配后接近完美的性能,让人着迷。现在正式开始。

        我依照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方法,并把网页上输入的数据存放到数据库中。

        浏览器显示如下:



数据库中显示如下:



终端显示如下:



转载请注明:转自 http://blog.csdn.net/littlethunder/article/details/8930157

post接受json tornado_Tornado的同步API写法举例实现GET/POST/DELETE请求+Tornado获取post请求中的json数据(转载)... 下面的实验主要来自[1][2],但是对实验2的代码进行了修改,修改过程参考了[3]#---------------------------------------------------实验1-------------------------------------------------------------------from tornado.web import Application, ... 阅读详情

相关推荐

HTTP协议之GETPOST

HTTP协议之GETPOST 1.1 GETPOST的区别? 1.GET请求的数据会附在URL之后,以?分割URL和传输数据,参数之间以&相连;POST把提交的数据则放置在是HTTP包的包体中。 2.GET的长度受限于URL的长度,而URL的长度限制是特定的浏览器和服务器设置的,理论上GET的长度可以无限长。 3.POST是没有大小限制的,HTTP协议规范也没有进行大小限制,...

ailunlee的博客 493

一个简单的tornado案例(post方法

之前讲了tornado简单案例( get方法)。 个人理解:一般地,get方法只是为了通过url传参(不是传json数据),服务器作出响应,get可以向服务器获取到数据(想要的数据)。而post方法可以向服务器传入一个数据进行处理(你想让服务器对数据做什么,达到你的目的),它的数据是放在request body中需要获取的。 下面介绍一个简单的tornado案例(post方法的)------&...

何小义的博客 1万+

Python:Tornado框架之获取getpost的传参

post方式获取参数值,可以通过调用从类RequestHandler中继承来的方法get_argument获取。以上getpost获取参数的示例代码演示完毕。二、获取post方式传参。一、获取get方式传参。

奋斗鱼 1069

tornado 中读取访问参数(getpost方式)

tornado 中读取访问参数 1get方式 arg = self.get_query_argument(‘keyword’,’’) 获取get请求方式的keyword对应的值,如果不存在,则为空字符串 args = self.get_query_arguments(‘keyword’) 返回一个列表,获取get请求方式的keyword对应的一组值,如果不存在,则为空列表 imp...

梁甜田的博客 1万+

tornado获取GETPOST请求的参数,返回json数据

本文以get请求和post请求为例,讲解tornado如何获取GETPOST 请求参数,如何获取json数据并返回json数据。

liweiminlining的专栏 2356

PythonPython3Tornado实现getpost请求示例

近日,有小伙伴咨询python是如何快速封装API接口的问题。

沙师弟专栏 7906

python3.6写一个http接口服务,给别人调用1--tornado

一、python3.6写一个http接口服务,给别人调用1 首先推荐tornadoTornado是一个Python web框架和异步网络库,最初在FriendFeed开发。通过使用无阻塞网络I/O,Tornado可以扩展到数万个开放连接,使其成为长轮询、WebSocket和其他需要与每个用户建立长时间连接的应用程序的理想选择。简易而且本地win10能够跑起来。 二、Torna...

大漠帝国的博客 5万+

Tornado的同步API写法举例实现GET/POST/DELETE请求+Tornado获取post请求中的json数据(转载)

下面的实验主要来自[1][2],但是对实验2的代码进行了修改,修改过程参考了[3] #---------------------------------------------------实验1------------------------------------------------------------------- from tornado.web import Applicat...

微电子学与固体电子学-俞驰 1554

post接受json tornado_tornado的同步API编写方法实现get/post/delete请求+tornadopost请求(重印)中获取JSON数据的一个例子,Tornado,写法,...

下面的实验主要来自[1][2],但是对实验2的代码进行了修改,修改过程参考了[3]#---------------------------------------------------实验1-------------------------------------------------------------------from tornado.web import Application, ...

weixin_31192609的博客 342

python tonador get/post 方法实现以及使用Postman测试接口

1.python tonador服务 https://www.tornadoweb.org/en/stable/guide/structure.html https://www.tornadoweb.org/en/stable/web.html https://stackoverflow.com/questions/4476373/simple-url-get-post-function-in-p...

筱楠的博客 906

Python 探析getpost方法

在开发网站的过程中,postget是常见常用的两个方法,关于这两个方法的详细解释,请列为阅读这篇文章:《HTTP POST GET 本质区别详解》,这篇文章前面已经推荐阅读了,可以这么说,如果没有搞明白getpost,也可以写出web程序,但是如果要对这方面有深入理解,并且将来能上一个档次,是必须了解的。 看下面的代码先: #!/usr/bin/en...

测试0901-1 422

python 异步 web 框架性能对比:tornadotornado-uvloop、fastap、sanic

#run_tornado.py # tornado-6.0.2 import tornado.ioloop import tornado.web import json class MainHandler(tornado.web.RequestHandler): async def get(self): self.write("Hello, world") async def post(self): self.write(json.dumps({"c.

iin729的博客 3617

tornado解析Post请求的json请求报文

tornado解析Post请求的json请求报文 注意这一句: data = json.loads(self.request.body) #经验证只有这样,才能正确解析 self.get_arguments(‘xxx’) 不能直接获取json数据 # coding: utf-8 """ version: v2 update: 2016-11-21 by arron comments: async...

zongyue_wang的博客 7443

Tornado get/post请求异步处理框架分析

首先说下环境,python2.7,Tornado3.0 然后本文讨论的不是Tornado底层如何用epoll处理socket通信,而是如何在应用层异步处理get/post请求。下面是正文: 同时在get或者post方法处理上应用@tornado.web.asynchronous和@tornado.gen.engine装饰器,可以非常方便的和有callback参数

每天积累一点,一年后你会发现,自己变化很大 5837

Python urllib.request.Request发送GET请求、POST请求(带Headers)

1.结合Request()和urlopen()传Headers;2.get请求需手动拼接并使用quote()对中文处理;3.post请求直接转发即可

XerCis的博客 8571

Tornado学习

路由、数据库连接、模板书写、tornado应用

Orange_usst_code的博客 524

1Tornado 快速入门

Tornado 快速入门

阿牧路泽 1199
上一篇: python3.x的torndb使用记录(发现网上没有关于torndb的使用说明,可能太简单了吧:-P)
下一篇: tornado 3.0.1 中关于cookie和secure cookie的那点事儿
littlethunder
博客等级 码龄15年 591粉丝 67原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值