Просматривая документы в учебных целях, я не могу найти много информации о том, как решить мою проблему, в основном мы можем обеспечить точное сопоставление модулей пользовательского интерфейса с экземпляром приложения следующим образом:
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") %}
Есть ли возможность сделать это, потому что Торнадо на самом деле не нравится такой тип ввода, как он может 'распознать вложенные свойства / модули?