Jinja和javascript语法冲突?

abh*_*nav 6 javascript syntax-error jinja2

我在GAE-python项目中使用jinja2模板语言.我曾尝试使用jquery-upload上传文件.

以下代码抛出错误:

<!-- The template to display files available for upload -->¬
    152 <script id="template-upload" type="text/x-tmpl">¬
--  153     {% for (var i=0, file; file=o.files[i]; i++) { %}¬
|   154     <tr class="template-upload fade">¬
|   155         <td class="preview"><span class="fade"></span></td>¬
|-  156         <td class="name"><span>{%=file.name%}</span></td>¬
Run Code Online (Sandbox Code Playgroud)

上面的代码直接取自jquery上传库.

错误:

line 153, in template
    {% for (var i=0, file; file=o.files[i]; i++) { %}
TemplateSyntaxError: expected token ')', got 'i'
Run Code Online (Sandbox Code Playgroud)

我认为这是由于{% %}jinja2使用的以及text/x-tmpl js语法引起的.它是否正确?如果是这样,我该如何解决呢?请帮忙.

djc*_*djc 9

试试这个:

{{ '{% for (var i=0, file; file=o.files[i]; i++) { %}' }}
Run Code Online (Sandbox Code Playgroud)

或者您可以使用{%raw%} {%endraw%}块.

http://jinja.pocoo.org/docs/templates/#escaping