我正在使用 wheezy web 框架,但我猜同样的概念可以应用于任何框架。
我的网址在列表中:
import WelcomeHandler
import OtherHandler
all_urls = [
url('/', WelcomeHandler, name='HomePage'),
url('/some-other-page', OtherHandler, name='OtherPage'),
...
]
要完成这项工作,我需要将所有请求处理程序导入到文件中。如果您有很多页面,这些导入可能会开始失控,除了您在一个文件中有很多导入会使它变得困惑之外,我猜从性能方面来说这不是最好的解决方案。
延迟导入这些请求处理程序的常用方法是什么?例如,WebApp2 框架允许您将它们指定为带点符号的字符串,并将其计算为实际文件:http://webapp-improved.appspot.com/guide/routing.html#lazy-handlers
从文档来看,wheezy web 似乎没有这个选项。我怎样才能实现类似的东西?
谢谢!
我对 wheezy 不熟悉,但如果您只需调用 url()
并将其添加到列表中,我的方法是使用 install
方法在你的处理程序模块中:
from importmodule import all_urls
...
install("HomePage", "/", WelcomeHandler)
def install(name, path, callable):
all_urls.append(url(path, callable, name=name))
我是一名优秀的程序员,十分优秀!