Python Tornado框架輕松寫一個Web應用的全過程
Tornado是什么
學委之前在看Jupyter組件的源碼的時候,發(fā)現(xiàn)了tornado這個web框架。
不僅僅做一個web框架, 通過使用非阻塞網(wǎng)絡I/O,Tornado可以擴展到數(shù)萬個開放連接。
這樣非常適合 long polling , WebSockets 以及其他需要與每個用戶建立長期連接的應用程序。
好,下面安裝試用一下。
安裝
pip install tornado
pip 不會用的朋友可以看看 # 秒懂精通pip并快速體驗深度學習應用吧!【多圖建議收藏】
試試看使用tornado框架來寫一個web application
來一個簡單的,保存下面代碼為app.py文件
""" 雷學委#代碼Demo """ import tornado.ioloop import tornado.web “”“編寫一個請求處理器”“” class MainHandler(tornado.web.RequestHandler): def get(self): self.write("Hello, Tornado Server"); """創(chuàng)建一個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
""" 雷學委#代碼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的請求處理器和路由加載。
看看頁面渲染的效果,沒有內(nèi)嵌任何js,這個submit按鈕就直接把發(fā)起了POST請求給“/form”接口。
而且博主也沒有編寫任何JS處理頁面,特別簡化,這個”小魔法“是本文想要推薦tornado的一個原因!
以上隨筆,簡單使用分享,后面再繼續(xù)推這個框架的解讀。
總結
到此這篇關于Python Tornado框架輕松寫一個Web應用的文章就介紹到這了,更多相關Python Tornado框架寫Web應用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
參考鏈接:
關于Pip的使用 => http://www.dbjr.com.cn/article/219385.htm
Tornado => www.osgeo.cn/tornado/
相關文章
Python使用擴展庫pywin32實現(xiàn)批量文檔打印實例
這篇文章主要介紹了Python使用擴展庫pywin32實現(xiàn)批量文檔打印實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04python opencv圓、橢圓與任意多邊形的繪制實例詳解
在本篇文章里小編給大家整理的是關于python-opencv-圓、橢圓與任意多邊形的繪制內(nèi)容,需要的朋友們可以學習參考下。2020-02-02自然語言處理之文本熱詞提取(含有《源碼》和《數(shù)據(jù)》)
這篇文章主要介紹了自然語言處理之文本熱詞提取,主要就是通過jieba的posseg模塊將一段文字分段并賦予不同字段不同意思,然后通過頻率計算出熱頻詞,需要的朋友可以參考下2022-05-05