Javascript 未在上下文中填充把手模板
我正在构建一个Javascript 未在上下文中填充把手模板,javascript,templates,Javascript,Templates,我正在构建一个Flask应用程序,并有一些客户端HTML呈现,我想使用handlebar模板来实现 我有以下非常基本的把手模板: <script id="source-template" type="text/x-handlebars-template"> <div class="source-data"> <span>{{last4}}</span> <span>Exp : {{exp_mont
Flask
应用程序,并有一些客户端HTML呈现,我想使用handlebar
模板来实现
我有以下非常基本的把手模板:
<script id="source-template" type="text/x-handlebars-template">
<div class="source-data">
<span>{{last4}}</span>
<span>Exp : {{exp_month}} / {{exp_year}}</span>
</div>
</script>
但是,它似乎没有将我的上下文中的数据插入到模板中。控制台输出为:
<div class="source-data">
<span></span>
<span>Exp : / </span>
</div>
经验:/
我是不是遗漏了什么?我不确定会出什么问题,因为我基本上是复制了 因为我使用的是
Flask
,所以我将脚本编写在一个html文件中,该文件由Jinja
呈现
由于没有名为last4
、exp\u month
、或exp\u year
的变量传递到Flask的render\u template()
函数中,因此它将这些变量替换为零,使把手模板没有变量
解决方案是在脚本周围使用{%raw%}
,这样Jinja就不会将这些变量解释为:
<script id="source-template" type="text/x-handlebars-template">
{% raw %}
<div class="source-data">
<span>{{last4}}</span>
<span>Exp : {{exp_month}} / {{exp_year}}</span>
</div>
{% endraw %}
</script>
{%raw%}
{{last4}}
Exp:{Exp\u month}/{Exp\u year}
{%endraw%}
它的安装似乎有问题。您能在控制台中看到任何错误吗?请检查Django中也会出现同样的问题。为了防止Django解析模板,手柄模板应该包装在一个逐字块中,{%verbatim%}。。。把手模板在这里。。。{%endverbatim%}
<script id="source-template" type="text/x-handlebars-template">
{% raw %}
<div class="source-data">
<span>{{last4}}</span>
<span>Exp : {{exp_month}} / {{exp_year}}</span>
</div>
{% endraw %}
</script>