tornado的两个关键模块就是web和 ioloop
RequestHandler就是封装在web.py里面,它是每个视图类必须继承的父类
它里面有几种方法用处很多:
(status_code, reason):设置回复状态码,status_code是响应状态码,reason是响应描述
():返回我们回复的状态码
(name, default=_ARG_DEFAULT, strip=True):获取url里面镶嵌参数的值,如果参数在url出现多次,取最后一次的值,如果没有参数就使用默认值,strip是否去掉参数两边的空格
(name, strip=True):返回给定参数名称值的列表,获取url里面参数名称一样的多个值,获取不到返回空列表
(name,default=_ARG_DEFAULT, strip=True):获取body里面的参数,一般为获取post发送的数据。
(name, strip=True):获取body里面参数名相同的参数值,获取不到返回空列表,一般为获取post发送的数据。
(name,default,strip= True):这个是整合上面两种获取参数的方法,只需要在请求中调用这个方法就行,如果是post请求就相当于get_body_arguments()
def __init__(self, application, request, **kwargs):
super(RequestHandler, self).__init__()
self.application = application
self.request = request
self._headers_written = False
self._finished = False
self._auto_finish = True
self._transforms = None # will be set in _execute
self._prepared_future = None
self._headers = None # type: httputil.HTTPHeaders
self.path_args = None
self.path_kwargs = None
self.ui = ObjectDict((n, self._ui_method(m)) for n, m in
application.ui_methods.items())
self.ui["_tt_modules"] = _UIModuleNamespace(self,
application.ui_modules)
self.ui["modules"] = self.ui["_tt_modules"]
self.clear()
self.request.connection.set_close_callback(self.on_connection_close)
self.initialize(**kwargs)
在初始化的时候application和request参数是不需要管的,框架会自动代入进去。子类可以重写self.initialize方法,会自动调用。