Python 如何在水泥框架中覆盖Jinja2扩展设置?
我是水泥框架和Python的新用户。我尝试覆盖jinja2模板处理程序的默认配置,将trim_块设置为True。我在扩展中看到了环境设置的默认值,但我真的想知道在水泥中覆盖它的正确位置在哪里Python 如何在水泥框架中覆盖Jinja2扩展设置?,python,jinja2,cement,Python,Jinja2,Cement,我是水泥框架和Python的新用户。我尝试覆盖jinja2模板处理程序的默认配置,将trim_块设置为True。我在扩展中看到了环境设置的默认值,但我真的想知道在水泥中覆盖它的正确位置在哪里 谢谢您的帮助。经过多次测试,我找到了一种方法来覆盖Jinja2扩展。我希望这是个好办法 为了避免直接在命令类中执行此操作,我使用了水泥挂钩“post\u argument\u parsing”。我在文件“main.py”的main类中定义了这个钩子,如下所示: def jinja2_settings_ove
谢谢您的帮助。经过多次测试,我找到了一种方法来覆盖Jinja2扩展。我希望这是个好办法 为了避免直接在命令类中执行此操作,我使用了水泥挂钩“post\u argument\u parsing”。我在文件“main.py”的main类中定义了这个钩子,如下所示:
def jinja2_settings_override(self):
# Jinja2 Environment context
env = self.output.templater.env
env.trim_blocks = True
class MyCommandClass(App):
"""Primary application."""
class Meta:
label = 'my_command'
# ... #
# register the hook to override jinja2 extension settings.
hooks = [
('post_argument_parsing', jinja2_settings_override),
]
这回答了你的问题吗?谢谢你们的回答,但我想知道如何覆盖水泥框架中的设置,而不是直接在模板中。