Jinja和javascript语法冲突?

时间:2012-08-23 13:57:06

标签: 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>¬

以上代码直接取自jquery上传库。

错误:

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

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

2 个答案:

答案 0 :(得分:9)

试试这个:

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

或者你可以使用{%raw%} {%endraw%}块。

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

答案 1 :(得分:0)

使用Flask和Angular时遇到了问题。这有帮助! 认为它可能对其他人有帮助。

http://flask-triangle.readthedocs.org/en/develop/tutorial/part1.html