tornado 3、获取参数的几种方式

一.通过路由正则参数

tornado路由可以使用正则表达式中的子表达式传递url参数。比如:

(r"/member//(\w*)/([01]*)", MemberHandler),

匹配以后,tornado会将字符串()中匹配到的内容,作为参数传递到MemberHandler中去,因此我们在MemberHandler中定义get方法时增加参数:

class MemberHandler(tornado.web.RequestHandler):
    def get(self,data,num):
        self.write(data)

二.通过self.get_argument()

tornado的get和post提交的参数都可以通过self.get_argument()获得。只需要在第一个参数中填写key值就可以获取,第二个参数为默认值

if self.request.arguments.has_key("greeting"):
    greeting = self.get_argument('greeting', 'Hello')

三.通过self.request.body

tornado的参数存储在self.request.body内,通过json以后就可以直接取值,当初我在前端使用angular时tornado就不能通过self.get_argument()获取到只能用这种办法获得angular post过来的数据。

data = json.loads(self.request.body)
keyword = data['content']
Tornado 框架中,获取数据的语法主要有以下几种方式: 1. 通过 RequestHandler 对的 get_argument()、get_arguments() 方法获取 GET 或 POST 请求中的参数: ```python class MyHandler(tornado.web.RequestHandler): def get(self): name = self.get_argument('name') age = self.get_argument('age') # do something with name and age def post(self): names = self.get_arguments('name') ages = self.get_arguments('age') # do something with names and ages ``` 2. 通过 RequestHandler 对象的 get_query_argument()、get_query_arguments() 方法获取 GET 请求中的参数: ```python class MyHandler(tornado.web.RequestHandler): def get(self): name = self.get_query_argument('name') age = self.get_query_argument('age') # do something with name and age names = self.get_query_arguments('name') ages = self.get_query_arguments('age') # do something with names and ages ``` 3. 通过 RequestHandler 对象的 get_body_argument()、get_body_arguments() 方法获取 POST 请求中的参数: ```python class MyHandler(tornado.web.RequestHandler): def post(self): name = self.get_body_argument('name') age = self.get_body_argument('age') # do something with name and age names = self.get_body_arguments('name') ages = self.get_body_arguments('age') # do something with names and ages ``` 4. 通过 RequestHandler 对象的 get_json_argument() 方法获取 POST 请求中的 JSON 数据: ```python class MyHandler(tornado.web.RequestHandler): async def post(self): data = self.get_json_argument('data') # do something with data ``` 以上是 Tornado 框架中获取数据的常用语法,具体使用方式根据实际情况进行选择。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值