我正在探索python的bottle web框架的使用。Web 应用程序必须是可扩展的。也就是说,我将有一个类似“some/path/extensions/”的文件夹,未来的开发人员应该能够在其中放置此应用程序的扩展。例如:如果扩展名为“treelayout”(具有自己的一组 html 文件、js 文件等,这些文件将放在 .../.../extensions/treelayout/ 文件夹中。我的目标是拥有一个看起来像这样的 url 路由器:
@GET("/some/path/extensions/:module/:func/:params")
def callmodule(module, func, params):
#D = dictionary made out of variable number of params.
#Then call module.func(D) <== How can I do this given that module and func are strings?
例如,有人可以调用“h++p: //.../treelayout/create/maxnodes/100/fanout/10/depth/3”,这将调用新的扩展 treelayout.create( {maxnodes:100, fanout :10,深度:3})。
知道这是否可能与瓶子或任何其他 python 框架有关吗?