应用示意,RequsetHandler中可能常会用到的一些地方
import json
from tornado.web import RequestHandler
class MainHandler(RequestHandler):
# 入口
def initialize(self, demo):
# 用于初始化handler类的过程
self.demo = demo
def prepare(self):
# 该方法 用户真正调用请求处理之前的初始化方法
# 如 可以用于打印日志 ,清理内存
pass
def on_finish(self):
# 关闭句柄 清理内存
pass
# http方法
def get(self, *args, **kwargs):
# 只用于在get方法中能用;传的参数不存在时 会报400
data1 = self.get_query_argument("name") # 得到一个字符串
data2 = self.get_query_arguments("name") # 得到一个list
# 如访问 http://127.0.0.1:8888/?name=bobby1&name=bobby2
# 可以得到['bobby1','bobby2']
# 在post请求中也可以获取到参数值
data3 = self.get_argument("name") # 得到一个字符串
data4 = self.get_arguments("name") # 得到一个list
pass
def post(self, *args, **kwargs):
data1 = self.request.arguments # 所有参数都会取出来
data2 = self.get_arguments("name")
# 适用于在接收json数据时,在请求体header中设置了application/json时才可以用
# param = self.request.body.decode('utf-8')
# data = json.loads("param")
data3 = self.get_body_argument("test")
data4 = self.get_body_arguments("test")
# 设置状态码
self.set_status(500)
# write可以写数据到缓存区 访问时可以一次性将所有的数据返回
self.write('1')
self.write('2')
self.finish({"name" : "bobby"}) # 可以自动返回json
self.write('3') # 调用了finish后 3就返回不出来了
self.write_error() # 用于返回错误页面
pass
def delete(self, *args, **kwargs):
pass
def put(self, *args, **kwargs):
pass
def patch(self, *args, **kwargs):
pass
# 自定义错误页面
def write_error(self, status_code, **kwargs):
pass
# 输出
# set_status, write, finish, redirect, write_error