Как загрузить из нескольких папок шаблонов для Flask blueprint?
Я научился создавать чертежи Колб и могу создавать чертежи для продуктов без колб, которые используют шаблоны Jinja2 и используют их внутри проектов колб. Я делаю что-то вроде этого:
# blueprint code
from flask import Blueprint
from pkg_resources import resource_filename
app = Blueprint('formgear', __name__,
template_folder=resource_filename('formgear', 'templates'))
и теперь я хочу добавить еще один набор шаблонов, который логически связан с моим проектом без колбы, но только для колбы. Я совершенно не уверен, что это хороший дизайн, но есть ли способ распространить обе папки шаблонов из одного чертежа? И сделать оба шаблона set доступный для всего проекта склянки?
Примечание: formgear
- это имя моего проекта без колбы.
1 ответов
вот след расследований.
из фляжки.чертежи
class Blueprint(_PackageBoundObject):
....
def __init__(self, name, import_name, static_folder=None,
static_url_path=None, template_folder=None,
...)
_PackageBoundObject.__init__(self, import_name, template_folder)
....
из фляжки.помощники!--5-->
@locked_cached_property
def jinja_loader(self):
"""The Jinja loader for this package bound object.
.. versionadded:: 0.5
"""
if self.template_folder is not None:
return FileSystemLoader(os.path.join(self.root_path,
self.template_folder))
Следствие Результат:
- template_folder, который передается в
Blueprints
впоследствии в класс_PackageBoundObject
- это трактуется как одна строка, а не как список папок
результат:
- вы не можете пройти несколько путей для template_folder