为多个加载器设置 aiohttp_jinja2

Posted

技术标签:

【中文标题】为多个加载器设置 aiohttp_jinja2【英文标题】:setup aiohttp_jinja2 for multiple loader 【发布时间】:2017-07-23 16:43:11 【问题描述】:

我想为多个加载器(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】:

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

他们说:

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

那么您将拥有一个带有 FileSystemLoader 的环境和一个带有 PackageLoader 的环境

【讨论】:

以上是关于为多个加载器设置 aiohttp_jinja2的主要内容,如果未能解决你的问题,请参考以下文章

如何设置选择器视图以显示来自多个矩阵选项的数据?

Webpack + React +多个SVG加载器问题

多个 Django 模板加载器

使用 GLSL 的多个着色器加载多个纹理时出现问题

加载多个文档时如何设置model.getDocumentNode?

何时以及如何将 java 类加载器标记为垃圾收集?