第 7 行的块标记无效:'endif',预期为 'empty' 或 'endfor'。您是不是忘记注册或加载此标签?
Posted
技术标签:
【中文标题】第 7 行的块标记无效:\'endif\',预期为 \'empty\' 或 \'endfor\'。您是不是忘记注册或加载此标签?【英文标题】:Invalid block tag on line 7: 'endif', expected 'empty' or 'endfor'. Did you forget to register or load this tag?第 7 行的块标记无效:'endif',预期为 'empty' 或 'endfor'。您是否忘记注册或加载此标签? 【发布时间】:2021-12-08 23:51:45 【问题描述】:我是 html 模板和 Django 的初学者。
author_list.html
% extends "base_generic.html" %
% block content %
<h1>All authors</h1>
<ul>
% for author in author_list %
<li><a href=""> author.last_name :</a> % for book in author.book_set.all % book.title % if not
forloop.last %, % endif %% endfor %</li>
% endfor %
</ul>
% endblock %
错误: 第 7 行的块标记无效:'endif',预期为 'empty' 或 'endfor'。您是否忘记注册或加载此标签?
我有代码块。它在没有阻塞 if 的情况下工作,但不适用于条件。如何修复它。帮助!我应该在每个书名之后粘贴“,”。
【问题讨论】:
【参考方案1】:你应该不在多行上写模板标签。模板标签应该在同一行开始(%
)和结束(%
)。否则 Django 模板语言解析器会出错。因此,您应该将其重写为:
% extends "base_generic.html" %
% block content %
<h1>All authors</h1>
<ul>
% for author in author_list %
<!-- same line ↓ -->
<li><a href=""> author.last_name :</a> % for book in author.book_set.all % book.title % if not forloop.last %, % endif %% endfor %</li>
% endfor %
</ul>
% endblock %
【讨论】:
以上是关于第 7 行的块标记无效:'endif',预期为 'empty' 或 'endfor'。您是不是忘记注册或加载此标签?的主要内容,如果未能解决你的问题,请参考以下文章
无效的块标记预期为“空”或“结束”。尝试显示ImageField时出错
第 1 行的块标记无效:“设置”。您是不是忘记注册或加载此标签
Django:无效的块标签:'static',预期的'endif'
第 3 行的块标记无效:“原始”。您是不是忘记注册或加载此标签?使用 Django 1.9 和 Jinja2
django 模板 第 10 行的未封闭标记:'if'。寻找以下之一:endif
Google App Engine Python django TemplateSyntaxError:无效的块标签:'endif'