Jquery 附加{{jinja}

Jquery 附加{{jinja},jquery,macros,flask,append,jinja2,Jquery,Macros,Flask,Append,Jinja2,我正在创建一个表单,用户可以在其中添加一个或两个额外字段。。。我使用jQuery进行交互,使用Flask进行模板制作,如下所示: <div id="edu_extension"></div> <a id="add_edu" class="add_line">Add College or University</a> <script> $( document ).ready(function() { $(".add_line"

我正在创建一个表单,用户可以在其中添加一个或两个额外字段。。。我使用jQuery进行交互,使用Flask进行模板制作,如下所示:

<div id="edu_extension"></div>
<a id="add_edu" class="add_line">Add College or University</a>
<script>
   $( document ).ready(function() {
   $(".add_line").mouseup(function(){
        $("#edu_extension").append("
             {{ forms.year('', form_consultant_errors.year, 'pick a year','college1-yearpicker')}}
        ");
   });
   })   
</script>

所以我想,有没有像xml中的CDATA这样的函数,可以在不解析代码的情况下处理代码?

使用
tojson | safe
将Jinja结果插入Javascript:

$("#edu_extension").append(
     {{ forms.year('', form_consultant_errors.year, 'pick a year','college1-yearpicker')|tojson|safe }}
);

这将为您生成一个JavaScript引用值。

您的意思是您不想要
{{forms.year(…)}
part to be Transmission by Jinja?@MartijnPieters恰恰相反:我希望它在被附加后被Jinja解释,但我不希望jQuery试图将其解释为javascript。这很好,但我计划动态更改ID:“{{forms.year('',form_consultant_errors.year,'pick a','college'+I”+“-yearpicker”)| tojson | safe}知道如何管理吗?脚本var i=1中声明的
i
将从何而来;并在每次追加之前增加:i++但这是在JavaScript中;在客户端执行。Jinja模板在发送到客户端之前在服务器端执行。不能两者兼而有之。要么需要在服务器端生成表单小部件列表,要么需要在客户端用JavaScript解析生成的HTML,并在每次迭代中替换
college1 yearpicker
字符串。
$("#edu_extension").append(
     {{ forms.year('', form_consultant_errors.year, 'pick a year','college1-yearpicker')|tojson|safe }}
);