1、RequestHandler.set_status(status_code, reason=None)
設置HTTP response 中的返回碼。如果有描述性語言,可以賦值給reason參數。
2、RequestHandler.set_headler(name, value)
以鍵值對的方式設置response對象中的HTTP頭參數,使用set_header配置會覆蓋之前的header。如:
1 import tornado.web 2 3 4 class DetailHandler(tornado.web.RequestHandler): 5 6 def get(self, *args, **kwargs): 7 self.set_header("number", 5) 8 self.set_header("number", 10) 9 self.set_header("LANGUAGE", "France")
配置之后,header中的參數將會是{”number“: 10, "LANGUAGE", "France"},這里重復的覆蓋了。
3、RequestHandler.add_headler(name, value)
同樣是設置header信息,但是這個add_header是不會覆蓋的。
4、RequestHandler.write(chunk)
將給定的塊作為HTTP body 發送給客戶端。在一般情況下,本函數輸出字符串給客戶端,如果給定的chunk是字典,則以json發送給
客戶端,同時將Content_Type設置為application/json。
5、RequestHandler.finish(chunk=None)
本方法通知tornado,Response的生成工作已經完成,chunk參數是需要傳遞給客戶端的HTTP body。調用此函數后,tornado將向客
戶端發送HTTP Response。本方法適用於異步請求處理。
6、RequestHandler.render(template_name, **kwargs)
用給定的參數渲染模板,可以在本函數中傳入模板文件名稱和模板參數。
1 import tornado.web 2 3 4 class MainHandler(tornado.web.RequestHandler): 5 def get(self, *args, **kwargs): 6 items = ["Python", "C++", "Java"] 7 self.render("template.html", title="Tornado Templates", items=items)
第一個參數是模板文件名,相比Django,tornado沒有高級過濾器。
7、RequestHandler.redirect(url, permanent=False, status=None)
進行網頁重定向。
1 import tornado.web 2 3 4 class LoginHandler(tornado.web.RequestHandler): 5 def get(self, *args, **kwargs): 6 self.render("login.html", next=self.get_argument("next", "/")) 7 8 def post(self, *args, **kwargs): 9 username = self.get_argument("username", "") 10 password = self.get_argument("password", "") 11 auth = self.db.authenticate(username, password) 12 if auth: 13 self.set_current_user(username) 14 self.redirect(self.get_argument("next", u"/")) 15 else: 16 error_msg = u"?error=" + tornado.escape.url_escape("Login incorrect.") 17 self.redirect(u"/login" + error_msg)
8、RequestHandler.clear()
清除之前寫入的Header和body 內容。
9、RequestHandler.set_cookie(name, value)
設置cookie值,鍵值對的方式。
10、RequestHandler.clear_all_cookies(path="/", domain=None)
清空本次請求中的所有cookie。