CMSimple Drupal Yii 內容管理系統三方案 - 提升台灣中小企業競爭力

目前位置:   首頁 > Welcome to CMSimple > About CMS > Tornado manual

Tornado manual

http://www.tornadoweb.org 是一套支援 Python 3 的全球資訊網伺服器與程式框架, 這裡會提供 Tornado 手冊的原因是 IPython 決定採用 Tornado 作為全球資訊網伺服器, 基於全面擁抱 IPython 的情況下, 決定研究 Tornado web server.

當然, 在全球資訊網內容管理的領域, 我們無法拋開 PHP, CMSimple, Wordpress, Drupal 與 Yii, 但是面對許多工程運算, IPython 所支援的平行運算, 並且提供全球資訊網界面下的工程運算 notebook, 卻是未來不得不走的路之一.

2013 年全球資訊網路環境中的介面趨勢無疑地就是 Javascript 與 HTML5 的天下, 而伺服器端的雲虛擬環境則非 node.js 莫屬, 而伺服器端最平民化的內容管理系統則歸 PHP 統領, 但是全球資訊網工程運算則首推 Python 3 中的 IPython.

於是, 我們開始探討 Tornado web server, 並且預計將其推上 OpenShift 平台:

安裝: pip install tornado

初步 Tornado web server 程式:

import tornado.ioloop
import tornado.web
'''
# 範例 1
class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world可以")
# r 代表原始字串 raw string 表示
# 將根目錄與 MainHandler 物件對應
application = tornado.web.Application([
    (r"/", MainHandler),
])
'''
'''
# 以下為範例 2
class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("You requested the main page")
class StoryHandler(tornado.web.RequestHandler):
    def get(self, story_id):
        self.write("You requested the story " + story_id)
application = tornado.web.Application([
    (r"/", MainHandler),
    (r"/story/([0-9]+)", StoryHandler),
])
'''
# 以下為範例 3
class MyFormHandler(tornado.web.RequestHandler):
    def get(self):
        self.write('<html><body><form action="/myform" method="post">'
                   '<input type="text" name="message">'
                   '<input type="submit" value="Submit">'
                   '</form></body></html>')
    def post(self):
        #self.set_header("Content-Type", "text/plain")
        self.write("""<html><body><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>""")
        self.write("You wrote " + self.get_argument("message")+"</body></html>")
application = tornado.web.Application([
    (r"/", MyFormHandler),
    (r"/myform", MyFormHandler),
])
if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()

 

Powered by CMSimple_XH| Template: ge-webdesign.de| 登入