Python全系列 教程
3567个小节阅读:5931.4k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
在网络应用中,往往数据量都是庞大的。为了提高用户的体验度。因此可以让客户端根据自己的需求填写数据的筛选条件。问题是如果用户传递了参数,我们如何接收呢?在Tornado中,为了完成这个功能,在RequestHandler类为我们提供如下函数来接收参数:
返回具有给定名称的参数的值
返回具有给定名称的参数列表
从请求查询字符串中返回具有给定名称的参数的值
返回具有给定名称的查询参数的列表
从请求主体返回具有给定名称的参数的值
返回具有给定名称的主体参数列表。
包含附加请求参数的对象,例如头文件和主体数据
提示
url字符串参数可以使用
Content-Type为 application/x-www-form-urlencoded 或者 multipart/form-data 的可以使用
如果是json 无法获取数据
xxxxxxxxxx
from tornado import web
from tornado import ioloop
# 用来处理请求,并响应结果
class IndexHandler(web.RequestHandler):
def get(self):
self.write('Hello Tornado!!')
# 如果获取查询参数,可以使用 get_argument get_query_argument get_arguments get_query_arguments
# name = self.get_argument('uname')
# pwd = self.get_argument('pwd')
# # name = self.get_arguments('uname')
# # pwd = self.get_arguments('pwd')
# hobby = self.get_arguments('q')
name = self.get_query_argument('uname')
pwd = self.get_query_argument('pwd')
hobby = self.get_query_arguments('q')
# 不推荐使用
# name = self.get_body_argument('uname')
# pwd = self.get_body_argument('pwd')
# hobby = self.get_body_arguments('q')
print(f'{name=} {pwd=} {hobby=}')
def post(self):
self.write('Hello Tornado!! POST')
# 如果获取请求体参数,可以使用 get_argument get_body_argument get_arguments get_body_arguments
# name = self.get_body_argument('uname')
# pwd = self.get_body_argument('pwd')
# hobby = self.get_body_arguments('q')
# print(f'{name=} {pwd=} {hobby=}')
# name = self.get_argument('uname')
# pwd = self.get_argument('pwd')
# hobby = self.get_arguments('q')
# print(f'{name=} {pwd=} {hobby=}')
# 获取不到数据
# name = self.get_query_argument('uname')
# pwd = self.get_query_argument('pwd')
# hobby = self.get_query_arguments('q')
# print(f'{name=} {pwd=} {hobby=}')
# 获取 raw 的数据 ,可能通过request.body对象
# 但是是bytes,需要数据转换 decoode()转成字符串,
# 如果str是一个dict类型,可以通过json.loads进行数据转换
args = self.request.body.decode('utf-8')
from json import loads
args = loads(args)
print(args.get('uname'))
if __name__ =='__main__':
# 创建一个tornado应用
app = web.Application([('/',IndexHandler)],debug = True)
# 设置监听端口
app.listen(8000)
# 通过事件循环来监听访问的端口
ioloop.IOLoop.current().start()
实时学习反馈
1. 在Tornado中,关于RequestHandler类说法错误的是?
A 可以通过get_argument
方法获取请求参数
B 可以通过get_header_arguments
方法获取请求参数
C 可以通过get_query_argument
方法获取请求参数
D 可以通过get_body_arguments
方法获取请求参数
答案
1=>B