tornado的输入输出,缓冲区,redirect,request,获取参数(表单内的参数)get_argument

本文介绍了Tornado框架中的输入输出类型,包括Bytes、Unicode、字典和其他类型。讨论了缓冲区的作用,如通过flush()方法即时输出内容。讲解了如何返回HTML文件和配置template_path。重点探讨了redirect功能、RequestHandler类中的self.request属性及其方法,如获取远程IP和请求时间。此外,还涵盖了从表单提交数据、URL捕获内容以及使用get_argument获取参数的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.tornado支持输入输出的类型

    bytes:

       

    Unicode:

        

    字典:

        

    其他(列表,json等):

        

2:缓冲区的存在,以及作用

    例如:

    作用:write会先把内容放在缓冲区,正常情况下,当请求处理完成的时候会自动把缓冲区的内容输出到浏览器,但是可以调用 flush方法,这样可以直接把缓冲区的内容输出到浏览器,不用等待请求处理完成

3:返回html文件,以及如何去配置

    用render去返回一个html文件

    还需要在配置文件中的applicable中配置

            template_path='templates',(想要tornado能够找到正确的html文件,需要在applicable中指定文件的位置)!!在下一个文章会重点说明

4:redirect 跳转指定的目录(重点)

    配置路由(r'/rec',RecHandler)

5:self.request请求

    classReqHandler(tornado.web.RequestHandler):
        
def get(self):
            
self.write(self.request.remote_ip)
           
print(self.request.remote_ip)
           
print(self.request.full_url())

            print(self.request.request_time())

        继承类  tornado.web.RequestHandler之后

        才可以直接调用 self.request  来获取客户端请求信息

  request的命令有:



6、body输入

当from表单填写数据后,将数据提交到指定路径,然后由该路径下的python执行并返回执行结果,运行代码如下所示:

HTML代码:

<div>
    <form action="/post" method="post">             # 数据提交路径和提交的请求模式
    <p>name: <input type="text" name="name"></p>
    <p>age: <input type="text" name="age"></p>
    <p><input type="submit" value="提交"></p>
    </form>
</div>

PY代码:

class PostHandler(tornado.web.RequestHandler):
    def post(self):
        name = self.get_argument('name','')         # 获取在form表中name对应的值
        age = self.get_argument('age','')
        self.write('name:{}'.format(name))
        self.write('age:{}'.format(age))
2.2、URL输入

前面也说过,在tornado.web.Application路由里面,路径其实是正则表达式,所以通过()捕获匹配的内容,然后传递给后台。代码如下:

class UrlHandler(tornado.web.RequestHandler):
    def get(self,urlinput):                     # urlinputi 接收正则表达式捕获的内容
        self.write(urlinput)

def app():
    return tornado.web.Application(
            handlers=[
                (r'/url/(.+)',UrlHandler),          # 捕获匹配的内容,传递给对应的内容模块
            ])     
2.3、获取传参
获取所有参数
    get_argument
    get_arguments

获取查询字符串中参数
    get_query_argument
    get_query_arguments
    
获取 body 中的参数
    get_body_argument
    get_body_arguments

get_body_argumentget_query_argument有功能局限性,所以通常使用get_argument代替,并且带源代码中,前面两个方法都是通过get_argument的功能来实现的。










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值