Jinja2模板中的ANSI Escape序列
问题描述:
我正在编写Flask应用程序,并希望从curl
调用时返回不同的输出。Jinja2模板中的ANSI Escape序列
到目前为止,这么好。 我想使用Jinja2模板,类似于html版本来生成响应。
但是,我遇到了问题,因为我的ANSI转义序列未评估,而是作为标准文本打印。
我见过很多关于变量编码的问题,但似乎没有人试图“评估”模板中的文本。
我的模板看起来是这样的:
\033[1m This is bold \033[0m
{{ content }}
当我现在render_template('base.cli', content=content)
并返回该命令行,在content
格式是正确的,在模板中定义的格式将被忽略。
有没有一个“很好”(推荐)解决这个问题?
答
我找到了解决方案,为每个人都有同样的问题。
诀窍是将需要评估的代码添加到括号中。
例如{{ "\033[1m" }} This is bold {{ "\033[0m" }}