Django模板出现'endblock'无效标签报错,求排查解决
Django模板错误:Invalid block tag 'endblock' 排查与解决
错误原因
home.html中最后一个{% endblock %}标签后直接使用了#开头的注释,Django模板引擎会将{% endblock %} #This is tag that the error is referring to整体识别为一个非法模板标签——它无法解析带后缀注释的endblock标签,因此抛出该错误。Django模板不支持用#添加行内注释,必须使用模板专用语法。
解决方案
修改home.html的注释方式,将行尾的#注释替换为Django模板支持的{# ... #}格式,或直接删除该注释:
修改后的home.html代码
{% extends 'main/base.html' %} {% block title %} Home {% endblock %} {% block content %} <h1>Home Page</h1> {% endblock %} {# This is tag that the error is referring to #}
或者直接删除注释(更简洁):
{% extends 'main/base.html' %} {% block title %} Home {% endblock %} {% block content %} <h1>Home Page</h1> {% endblock %}
额外验证
- 确认
base.html中的block标签与home.html的block/endblock完全配对,当前代码配对正常,无需调整。 - 修改后重启Django开发服务器,访问首页即可正常渲染页面。
内容的提问来源于stack exchange,提问作者Tanner Ormanoski
相关产品推荐
相关产品推荐

