Django模板报错:第49行endfor标签不符合预期,求协助排查
解决Django模板中Invalid block tag的报错问题
嘿,这个问题其实就是个小细节疏忽!你看第45行的for标签:
{% for message in messages % }
这里的%和右大括号}之间多了一个空格!Django的模板标签对格式要求很严格,这个多余的空格会让模板解析器无法正确识别for标签,它会误以为你在{% if %}块里写了个无效标签,自然就会报错说找不到匹配的endif,反而把正确的{% endfor %}当成了错误标签。
把这个空格删掉,改成下面的代码就能正常运行了:
44 {% if messages %} 45 {% for message in messages %} 46 <div class="alert alert-{{message.tags}}"> 47 {{message}} 48 </div> 49 {% endfor %} 50 {% endif %}
另外顺便提一句,你第46行里的message.tag应该是message.tags(复数形式),这是Django messages框架里的正确属性,不然可能会导致样式不生效哦~
内容的提问来源于stack exchange,提问作者Muhuri.JSON
相关产品推荐
相关产品推荐

