tornado是什么
學委之前在看jupyter組件的源碼的時候,發現了tornado這個web框架。
不僅僅做一個web框架, 通過使用非阻塞網絡i/o,tornado可以擴展到數萬個開放連接。
這樣非常適合 long polling , websockets 以及其他需要與每個用戶建立長期連接的應用程序。
好,下面安裝試用一下。
安裝
1
|
pip install tornado |
pip 不會用的朋友可以看看 #秒懂精通pip并快速體驗深度學習應用吧!【多圖建議收藏】
試試看使用tornado框架來寫一個web application
來一個簡單的,保存下面代碼為app.py文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
""" 雷學委#代碼demo """ import tornado.ioloop import tornado.web “”“編寫一個請求處理器”“” class mainhandler(tornado.web.requesthandler): def get( self ): self .write( "hello, tornado server" ); """創建一個web app""" def make_app(): #綁定接口“/” 到mainhandler return tornado.web.application([ (r "/" , mainhandler), ]) #程序入口 if __name__ = = '__main__' : app = make_app() app.listen( 8080 ) tornado.ioloop.ioloop.current().start() |
運行如下:(python app.py)
效果如下:
這個示例很簡單,先學會用起來。
再試試做一個form
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
""" 雷學委#代碼demo """ import tornado.ioloop import tornado.web #一個處理form的請求處理器 class myformhandler(tornado.web.requesthandler): def get( self ): #直接頁面渲染一個form self .write( '<html><body class="leixuewei"><form action="/form" method="post">' '<input type="text" name="message">' '<input class="leixuewei" type="submit" value="submit">' '</form></body></html>' ) def post( self ): self .set_header( "content-type" , "text/plain" ) self .write( "you wrote " + self .get_body_argument( "message" )) class mainhandler(tornado.web.requesthandler): def get( self ): self .write( "hello, tornado server" ); def make_xue_wei_app(): #使用application加載多個路由: “/” 接口路由 和 “/form” 接口路由 return tornado.web.application([ (r "/" , mainhandler), (r "/form" , myformhandler) ]) if __name__ = = '__main__' : app = make_xue_wei_app() app.listen( 18081 ) tornado.ioloop.ioloop.current().start() |
以上代碼比前面第一個示例多了一個form的請求處理器和路由加載。
看看頁面渲染的效果,沒有內嵌任何js,這個submit按鈕就直接把發起了post請求給“/form”接口。
而且博主也沒有編寫任何js處理頁面,特別簡化,這個”小魔法“是本文想要推薦tornado的一個原因!
以上隨筆,簡單使用分享,后面再繼續推這個框架的解讀。
總結
到此這篇關于python tornado框架輕松寫一個web應用的文章就介紹到這了,更多相關python tornado框架寫web應用內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
參考鏈接:
關于pip的使用 =>http://www.jfrwli.cn/article/213498.html
tornado => www.osgeo.cn/tornado/
原文鏈接:https://juejin.cn/post/6994600768573538341