为多个装载程序设置aiohttp_jinja2

时间:2017-03-03 14:13:15

标签: python aiohttp

我想为多个加载器(PackageLoader,FileSystemLoader)设置aiohttp_jinja2,例如:

def setup_template_engine(app):
    aiohttp_jinja2.setup(app, loader=jinja2.FileSystemLoader(str(Path('.') / 'templates')))
    aiohttp_jinja2.setup(app, loader=jinja2.PackageLoader('app', 'templates')) # in this case, only last setup works

问题是:如何为多个加载器设置aiohttp_jinja2?

1 个答案:

答案 0 :(得分:0)

我认为您可能会考虑创建多个环境,如下所示:https://jinja.palletsprojects.com/en/master/api/#basics

他们说:

大多数应用程序将在应用程序初始化时创建一个Environment对象,并使用该对象来加载模板。但是,在某些情况下,如果使用不同的配置,并排放置多个环境会很有用。

然后您将拥有一个使用FileSystemLoader的环境,以及一个使用PackageLoader的环境