В настоящее время у меня есть шаблоны в нескольких разных подкаталогах, и я хотел бы загрузить все шаблоны в jinja2.Похоже, что просто указав каталог FileSystemLoader в верхней части дерева, вы ничего не найдете в подпапках.
Есть ли способ заставить jinja2 загрузить все подкаталоги (всего один уровень)down - это нормально, но все дерево было бы предпочтительным)?
До сих пор мне удавалось сделать это с помощью загрузчика выбора:
sub_dirs = [os.path.join(template_file_root,dirname) for dirname in os.listdir(template_file_root)
\ if os.path.isdir(os.path.join(template_file_root, dirname))]
jinja_dirs = [ jinja2.FileSystemLoader(dirname) for dirname in sub_dirs ]
template_env = jinja2.Environment (loader = jinja2.ChoiceLoader(jinja_dirs))
Однако это выглядит немного странно.Есть лучшие предложения?