Jinja2 如何输入 javascript 字符串值

Jinja2 how to ouptput javascript string value

我有一个 html 页面使用 flask 框架运行,我使用 jinja2 输出部分内容:

<script>function test(str){ alert(str) }</script>

{% set s = 'Hello! Jinja~' %}
<a href='#' onclick='test({{s}})'>click me</a>

页面怎么会提示

Hello! Jinja~

当 link 被点击时?

当前 html 输出就像:

<a href="#" onclick="test(Hello! Jinja~)">click me</a>

这会导致 javascript 错误...

变量 s 是在页面呈现之前从 db 或其他处理中获取的,而不是常量字符串!

非常感谢...

用引号将 Jinja 表达式括起来,以便在 JavaScript 中将其视为字符串。

{% set s = 'Hello! Jinja~' %}
<a href='#' onClick="alert('{{ s }}')">click me</a>