tornado RequestHandler

RequestHandler类是配置和相应URL请求的核心类。

from tornado.web import RequestHandler
from tornado.web import Application

#RequestHandler.initialize() :子类实例初始化,允许传参
class ProfileHandler(RequestHandler):
    def initialize(self, database):   #参数database由Application定义URL映射时以字典方式给出
        self.database = database

    def get(self):
        pass

    def post(self):
        pass

app = Application([(r'/account', ProfileHandler, dict(database="c:\\example.db"))])

1.重写initialize()函数,改变实例的初始化过程

2.RequestHandler.prepare()用于调用请求处理(get或者post)方法之前的初始化处理,类似于flask中接入点函数before_request函数,而RequestHandler.on_finist()函数请求处理之后的一些工作,类似于flask中after_request函数。不同的是flask是装饰器,tornado是重写!

3.每个HTTP请求处理时有对应的Action函数:

       get、head、post、delete、patch、put、options

4.RequestHandler提供了用于获取客户端输入的工具函数:

       get_argument(name)用于获取单个值,get_argument(name)用于参数多个值,查询的是URL查询字符串与POST提交参数的合集

       get_query_argument(name)与get_query_arguments(name)跟上述差不多,只不过只用于查询URL字符串

       get_body_argument(name) 与   get_body_arguments(name)只用于查询POST提交参数

       get_cookies(name,default=None)根据Cookie名称获取Cookie值

       request函数用于返回tornado.httputil.HTTPServerRequest对象实例的属性,用例self.request.host/ip等等!

5.提供了为客户端生成处理结果的工具函数:

       RequestHandler.set_status(status_code,reason=None):设置response返回码,reason设置描述性语句

       RequestHandler.set_header(name,value):以键值对形式设置Response中的头参数,会覆盖之前的设置

       RequestHandler.add_header(name,value):这个是添加,不会覆盖之前的设置

       RequestHandler.write(chunk):发送HTTP body发送个客户端

       RequestHandler.finish(chunk):通知response的生成工作完成

       RequestHandler.render(template_name,**kwargs):用于参数渲染模板

       RequestHandler.redirect():页面重定向

       RequestHandler.clear():清空之前的设置内容一般用于set_header函数之后

       RequestHandler.set_cookie(name,value):键值对形式设置cookie值

       RequestHandler.clear_all_cookies():清除本次请求的所有cookie

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Tornado是一个Python的web框架,而Redis是一个开源的内存数据结构存储系统。它们可以一起使用来构建高性能的Web应用程序。 在Tornado中使用Redis,可以通过Redis的Python客户端库来实现与Redis服务器的交互。你可以使用这个库来连接到Redis服务器,进行数据的读取和写入操作。 首先,你需要安装Redis的Python客户端库。可以使用pip命令来安装: ``` pip install redis ``` 然后,在你的Tornado应用程序中,你可以创建一个Redis连接,通过该连接来执行各种Redis操作。下面是一个简单的示例代码: ```python import tornado.web import tornado.ioloop import redis # 创建Redis连接 r = redis.Redis(host='localhost', port=6379, db=0) # 定义Tornado请求处理器 class MainHandler(tornado.web.RequestHandler): def get(self): # 从Redis中获取数据 data = r.get('key') # 处理数据并返回响应 self.write('Data from Redis: ' + str(data)) # 创建Tornado应用程序 def make_app(): return tornado.web.Application([ (r'/', MainHandler), ]) if __name__ == '__main__': app = make_app() app.listen(8888) tornado.ioloop.IOLoop.current().start() ``` 在上述示例中,我们首先导入了redis库,并创建了一个Redis连接对象`r`。然后,我们定义了一个Tornado请求处理器`MainHandler`,在`get`方法中从Redis中获取数据,并将其返回给客户端。 最后,我们创建了一个Tornado应用程序,并将请求处理器映射到根URL上。通过运行应用程序并访问http://localhost:8888/,你将会看到从Redis中获取的数据。 这只是一个简单的示例,你可以根据自己的需求来使用Redis和Tornado进行更复杂的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值