Python 如何在水泥框架中覆盖Jinja2扩展设置?

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

我是水泥框架和Python的新用户。我尝试覆盖jinja2模板处理程序的默认配置,将trim_块设置为True。我在扩展中看到了环境设置的默认值,但我真的想知道在水泥中覆盖它的正确位置在哪里


谢谢您的帮助。

经过多次测试,我找到了一种方法来覆盖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),
        ]

这回答了你的问题吗?谢谢你们的回答,但我想知道如何覆盖水泥框架中的设置,而不是直接在模板中。