jinja2-TemplateSyntaxError:模板意外结束。 Jinja正在寻找以下标签:'endfor'或'else'

时间:2019-05-25 00:41:28

标签: javascript python html jinja2

我希望将从SQLite检索的数据显示到网页上。显示布局是一个表格。但我收到以下评论:

jinja2.exceptions.TemplateSyntaxError jinja2.exceptions.TemplateSyntaxError:模板意外结束。 Jinja正在寻找以下标签:'endfor'或'else'。需要关闭的最里面的块是“ for”。

我是编码的新手,可以向您寻求帮助吗?非常感谢。


Welcome {{username}}, your schedule is as follows.

<tbale id="myTable" cellpadding="2" cellspacing="2" border="1" onclick="tester()"></table>

    <script> 
    var staff; 
    for (var j=0; j < 1000: j++) {
        staff = {
             {% for key,user in df_dict.items()%}
            department: "{{user.workingdept}}" + j,
            staffid: "{{user.staffid}}" + j,
            staffname: "{{user.staffname}}" + j,
            rank: "{{user.rank}}" + j,
            shift: "{{user.shift}}" + j,
        {% endfor%} 
        };      

        var table = document.getElementById("myTable");
        var row = table.insertRow(j);
        var cell1 = row.insertCell(0);
        var cell1 = row.insertCell(1);
        var cell1 = row.insertCell(2);

        cell1.innerHTML = staff.department,
        cell2.innerHTML = staff.staffid,
        cell3.innerHTML = staff.staffname,
        cell4.innerHTML = staff.rank,
        cell5.innerHTML = staff.shift;
<br>
    </body>
<html>

1 个答案:

答案 0 :(得分:0)

Jinja2(您的后端模板引擎)在打开/关闭指示器和您的实际命令之间需要一个空格字符。

该错误与找不到“ endfor”命令有关。您可以通过以下方式更正语法来解决此问题:

{% endfor%}  becomes  {% endfor %}

即使这回答了您的问题,您的代码也会遇到更多错误。一些应解决的示例:

  • 您的表开头标签拼写错误(tbale)。
  • 您缺少一些HTML标签,以使页面有效或错误放置它们。
  • 您多次定义“ var cell1”(JavaScript)。