如何为Tornado应用程序实例提供分层或嵌套的UI模块?

时间:2019-05-18 14:33:29

标签: tornado

为了学习目的而浏览文档时,我找不到太多的信息来解决问题,基本上,我们可以像下面这样提供UI模块到应用程序实例的字典映射:

from tornado.web import Application
from .features.components import Button

modules = {
    "ui_modules" : [
        Button
    ]
}


def create_app():

    return Application([
        url(r"/", MainHandler)
    ], template_path = os.path.join(os.path.dirname(__file__), "templates"),
        compiled_template_cache = False,
        ** modules)

我们还可以提供一个单例:

modules = {
    "ui_modules" : Button
}

但是,我正在寻找嵌套模块,类似于以下内容:

modules = {
    "ui_modules" : {
        "components" : {
            "button" : Button,
            "select" : Select,
            "form" : Form
        },
        ...
    }
}

最终,要能够像这样从父模板文件(main.html)引用我的模块(类似但还不完全存在):

{% module components["button"](text, color = "red") %}

是否有可能这样做,因为龙卷风实际上不喜欢这种输入,因为他无法识别嵌套的属性/模块?

0 个答案:

没有答案