tornado やってみたメモ
なんか作りたい人はこんなところを見ていないで ドキュメント 読めばわかるし読んでわからないなら諦めてください。
弄っているソースは ここらへん に置いてあるはず。
URL mapping
とりあえずこれですよ。
app = web.Application([ ('/', serve.MainHandler), ('/websock', serve.OnWebsock), ('/yes/(.*)', serve.YesHandler), ('/print/(?P<aaa>.*)', serve.PrintHandler), ])
何となくこんな感じでやるらしい。
- 正規表現で書く
- グルーピングも使える
- 名前付きグループと名前なしグループは混ぜられない
というところをおさえておけばいいっぽい。
リクエストの処理
まあなんとなくわかるよね。
class PrintHandler(web.RequestHandler): def get(self, *args, **argd): u''' :param *args: URL マッピング時の名前なしグルーピング :param **argd: URL マッピング時の名前付きグルーピング レスポンスボディは self.write で書き込んでやる。 ''' # レスポンスヘッダを弄る self.set_header('Content-Type', 'text/plain;charset=utf-8') print >> self, args, argd # URL パラメータから値を一個取る print >> self, self.get_argument('aaa') # URL パラメータから値を全部取る print >> self, self.get_arguments('aaa') # self.request がリクエストオブジェクト # リクエストオブジェクトの arguments にパラメータが辞書で入っている pprint.pprint(self.request.arguments, stream=self)
とりあえず今日はここまで。