为什么平衡的 Django 模板化 {% if %} 和 {% endif %} 在第 50 行得到无效的块标签:"endif",预期的'empty'或'endfor'



我收到一个错误,指定不需要外部{{ endif }}关闭标记; 预计{{ empty }}{{ endfor }}。这听起来像我有一个与早期{% if ... %}不匹配的{{ endif }},它希望我嵌套关闭最外层的循环(源在 http://pastebin.com/Knsbi6bH)。(这旨在{{ for }}循环内,但 AFAIK{{ endif }}与开场{{ if ... }}匹配。这是</h2>前的{{ endif }}.

报告器错误是第 50 行:

40                                          {% else %}
41                                              {% if pet.shelter.website or
42                                                pet.shelter.slugline %}
43                                                  this shelter
44                                              {% endif %}
45                                          {% endif %}
46                                          {% if pet.shelter.name or
47                                            pet.shelter.website %}
48                                              </a>)
49                                          {% endif %}
50                                      {% endif %}
51                                  </h2>
52                                  {% if pet.snippet %}
53                                      {{ pet.snippet }}
54                                  {% endif %}
55                              </td>
56                          </tr>
57                      {% endif %}
58                  {% endfor %}
59              </table>
60          {% else %}

帕斯宾在 http://pastebin.com/Knsbi6bH

{% ... %}标签是否需要在一行上?我欢迎任何关于我所缺少的想法。

是的,Django 模板标签必须在一行上

例如,请参阅票证 #8652(作为 wontfix 关闭),或 django 开发人员邮件列表中的此讨论。

您需要更改标签,例如

{% if pet.shelter.name or 
pet.shelter.website %}

{% if pet.shelter.name or pet.shelter.website %}

相关内容

  • 没有找到相关文章

最新更新