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ù)推這個框架的解讀。
總結(jié)
到此這篇關于Python Tornado框架輕松寫一個Web應用的文章就介紹到這了,更多相關Python Tornado框架寫Web應用內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持本站!
參考鏈接:
關于Pip的使用 => https://www.jb51.net/article/219385.htm
Tornado => www.osgeo.cn/tornado/
版權聲明:本站文章來源標注為YINGSOO的內(nèi)容版權均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。
關注官方微信