Jinja2 HTML 模板使用多个嵌套引号(" 和 ')

Jinja2 HTML templates use multiple nested quotation marks (" and ')

问题很简单,我使用的是 jinja2 html 模板,我应该包括 {{ url_for('static', filename='img/background.png') }} 在 url('') 内部,在 style="".

内部

问题是引号冲突,因为嵌套了两个'标记

<body id="body-pd" style="background: url('{{ url_for('static', filename='img/background.png') }}') no-repeat center center fixed; background-size: cover;">

是否可以使用某种转义字符?

这个问题的答案也很简单:没问题。 Jinja 环境(服务器端)和 browser/frontend 环境有不同的生命周期。

Jinja 只看到这部分:

{{ url_for('static', filename='img/background.png') }}

它产生一个路径,例如/static/img/background.png 并用它替换整个 {{ ... }} 片段。前端环境永远不会看到 Jinja-related 部分。所以不存在引号冲突,因为有一半会被服务器端的Jinja淘汰掉。