在Tornado中我可以动态更新请求处理程序中的数据库名称吗?

时间:2017-05-02 12:15:59

标签: python sqlite tornado

我可以更改我的Application类中定义的数据库名称,如下所示 要么 在Tornado中动态更改数据库名称的正确方法是什么?

class Application(tornado.web.Application):
     def __init__(self):
        self.db = "test"

在我的一个请求处理程序中使用来自args的值

class MainHandler(tornado.web.RequestHandler):
    def initialize(self, database):
        self.database = database
        self.db = "new_test"

1 个答案:

答案 0 :(得分:1)

如果动态"动态"你的意思是你可以为不同的处理程序修改它,你可以将它传递给你的URLSpec

from tornado.web import url

from myhandlers import MyHandler

urls_list = [
    url('/foo/bar', MyHandler, kwargs={'database': my_database}),
]

app = Application(urls_list)