2014-10-03 42 views
0
import os.path 
import tornado.httpserver 
import tornado.ioloop 
import tornado.options 
import tornado.web 

from tornado.options import define, options 
define("port", default=8000, help="run on the given port", type=int) 

class IndexHandler(tornado.web.RequestHandler): 
    def get(self): 
     self.render('index.html') 

class PoemPageHandler(tornado.web.RequestHandler): 
    def post(self): 
     noun1 = self.get_argument('noun1') 
     noun2 = self.get_argument('noun2') 
     verb = self.get_argument('verb') 
     noun3 = self.get_argument('noun3') 
     self.render('poem.html', roads=noun1, wood=noun2, made=verb,difference=noun3) 

if __name__ == '__main__': 
    tornado.options.parse_command_line() 
    app = tornado.web.Application(
     handlers=[(r'/', IndexHandler), (r'/poem', PoemPageHandler)], 
     template_path=os.path.join(os.path.dirname(__file__), "templates") 
    ) 
    http_server = tornado.httpserver.HTTPServer(app) 
    http_server.listen(options.port) 
    tornado.ioloop.IOLoop.instance().start() 

這個示例代碼來自「龍捲風入門」一書。這個單個文件中的示例代碼很容易理解,但它並不實際,因爲它在單個文件中創建了多個類。Python Tornado - 改變不切實際的例子到現實的例子

我想要做的是 - 我想創建處理特定頁面及其操作的單個模塊(?)文件。例如,我想重寫三個不同文件中的代碼。

  1. main.py - 它有__ __主要的東西,並根據需要調用
  2. IndexHandler.py
  3. PoemHandler.py

因爲我是新來的這條巨蟒龍捲風適當的處理程序框架,我不太清楚重寫整個代碼的最好方法是什麼。有人請告訴我一個更好的方法來分離py文件以輕鬆維護類嗎?

謝謝!

回答

2

檢查this repo。它包含一個龍捲風項目的例子。

它需要django的想法。它分成應用程序和應用程序分爲模型,處理程序,表單等。

acl_webapp # <-- the project 
    +-- base  # <-- app (contains base forms, models, handlers) 
    +-- accounts # <-- app 
    +-- logs 
    +-- news  # <-- app 
    | +-- __init__.py 
    | +-- forms.py  # <-- contains forms 
    | +-- handlers.py # <-- contains handlers 
    | +-- models.py  # <-- contains models 
    +-- pages  # <-- app 
    +-- static 
    +-- templates 
    +-- utils 
    +-- __init__.py 
    +-- app.py  # <-- tornado Application entry point 
    +-- settings.py # <-- project settings 
    +-- urls.py  # <-- project urls 
+0

Yeessssssssssssss !!!這是我尋找的!一個組織良好的示例項目!我所指的所有例子都是單一文件 - 容易讓書籍解釋,但很難在現實生活中使用。感謝秸稈! – Raccoon 2014-10-03 08:19:40