如何将javascript占位符包含在Jinja 2占位符中?

如何将javascript占位符包含在Jinja 2占位符中?,javascript,jquery,html,flask,jinja2,Javascript,Jquery,Html,Flask,Jinja2,我正在尝试将此功能嵌入我的Flask应用程序--> 因此,我有一个模板(Jinja2),在这里我显示了一堆图像。为了访问这些图像,我使用Flask的url_for()命令,该命令使用符号-->{{}。在动态加载图像的Javascript文件中,使用了相同的符号,即-->{{}。我想知道如何使用Javascript的{{}和Flask/Jinja 2{{} 下面是用实际文件名替换{{img}}的每个实例的Javascript函数 函数addPhotos(){ var template=selec

我正在尝试将此功能嵌入我的Flask应用程序-->

因此,我有一个模板(Jinja2),在这里我显示了一堆图像。为了访问这些图像,我使用Flask的url_for()命令,该命令使用符号-->{{}。在动态加载图像的Javascript文件中,使用了相同的符号,即-->{{}。我想知道如何使用Javascript的{{}和Flask/Jinja 2{{}

下面是用实际文件名替换{{img}}的每个实例的Javascript函数

函数addPhotos(){
var template=select(“#wrap”).innerHTML;
var html=[];
var-nav=[];
对于(i=0;i

{{caption}

{{desc}


您需要使用引号来转义大括号。由于您需要在html属性
src
中执行此操作,您还必须转义这些引号,因为在html属性中已经使用引号,实现这一点的方法是使用

看看下面的
img
tag
src
属性。如果您想转义不属于HTML属性的Jinja花括号,那么可以使用Jinja
{%raw%}
块(请参见我如何包围
{caption}}


{%raw%}{{'caption'}{%endraw%}

{%raw%}{{desc}{%endraw%}


好的,我试过了,但似乎“不起作用。我在上传部分编辑了新的错误消息。好的,我认为你的错误与你描述的问题无关。你的JavaScript代码在替换
{img}}
之前失败。看起来像是你的
选择('#wrap'))
为null,您正在调用
select(“#wrap”)。className
在“null”上,您需要首先解决此错误,然后在不使用
"e;
的情况下重试。好的,因此我已设法使其工作。我将更新答案。您关于使用转义序列的输入非常有用。我使用了{%raw%}这是金甲2号的逃生命令,也是为了达到同样的目的。不过我会接受你的回答,因为它间接地引导我去解决它。
<div class="mainPage" id="fullpage">
    <div class="first section">
        <div class="wrap" id="wrap">
            <div class="photo photo_front" id="photo_{{index}}" onclick="turn(this)">
                <div class="photo-wrap">
                    <div class="side side-front">
                        <p class="image">

                            <img src="{{ url_for('static',filename='photo/&quot;{{img}}&quot;') }}">

                        </p>
                        <p class="caption">{% raw %}{{'caption'}}{% endraw %}</p>

                    </div>
                    <div class="side side-back">
                        <p class="desc">{% raw %}{{desc}}{% endraw %}</p>
                    </div>
                </div>
            </div>
        </div>
    </div>