tornado ------ RequestHandler-----輸出響應函數


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。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM