是否有可能将Python Tornado的网址分成多个文件?

时间:2014-06-30 05:25:25

标签: python tornado

我想知道是否可以将url文件分成多个文件。目前我的URL文件是这样的:

url_patterns = {
    (r'/web/([^/]+)/', IndexHandler),
    (r'/web/([^/]+)/test', IndexTestDic),
    (r'/web/([^/]+)/category/([^/]+)', CategoryHandler),
    (r'/web/([^/]+)/channel', ChannelHandler),
    (r'/web/([^/]+)/savechannel', savechannel),
}

是否有可能有这样的事情:

#in url1.py
url_patterns1 = {
    (r'/web/([^/]+)/', IndexHandler),
    (r'/web/([^/]+)/test', IndexTestDic)
}

#url2.py
url_patterns2 = {
    (r'/web/([^/]+)/category/([^/]+)', CategoryHandler),
    (r'/web/([^/]+)/channel', ChannelHandler),
    (r'/web/([^/]+)/savechannel', savechannel),
}

1 个答案:

答案 0 :(得分:1)

当然你可以打破它们。

url_patterns1 = [
    (r'/web/([^/]+)/', IndexHandler),
    (r'/web/([^/]+)/test', IndexTestDic)
]

url_patterns2 = [
    (r'/web/([^/]+)/category/([^/]+)', CategoryHandler),
    (r'/web/([^/]+)/channel', ChannelHandler),
    (r'/web/([^/]+)/savechannel', savechannel),
]

然后终于:

url_patterns1.extend(url_patterns2)

现在你将它们全部放在url_patterns1变量中。

注意:正如其他人所提到的,最好在代码中使用列表[]而不是设置{}