我学会了如何创建Flask蓝图,并可以为使用Jinja2模板的非烧瓶产品创建蓝图,并在烧瓶项目中使用它们。我做这样的事情:
# blueprint code
from flask import Blueprint
from pkg_resources import resource_filename
app = Blueprint('formgear', __name__,
template_folder=resource_filename('formgear', 'templates'))
现在我想添加另一组模板,这些模板与我的非Flask项目逻辑连接但是仅限Flask。我完全不确定它是否很好,但有没有办法从一个蓝图传播两个模板文件夹?并将两个模板设置为整个Flask项目?
注意:formgear
是我的非Flask项目的名称。
答案 0 :(得分:5)
这是调查的踪迹。
来自flask.blueprints
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)
....
来自flask.helpers
@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))
调查结果:
Blueprints
的template_folder随后会转到课程_PackageBoundObject
结果: