You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django模板报错:第2行无效块标签'endblock',求解决方案

Django模板"endblock"标签报错的解决方法

问题重现

你的模板代码:

{% extends "base.html" %} {% block title %} Home {% endblock %} {% block content %} {% endblock %}

报错提示:Invalid block tag on line 2: 'endblock'. Did you forget to register or load this tag?

解决步骤

  • 拆分标签到单独行:Django模板解析器对多行标签的处理更稳定,将每个模板标签单独占一行,避免多个标签挤在同一行导致解析错误:
    {% extends "base.html" %}
    {% block title %} Home {% endblock %}
    {% block content %} {% endblock %}
    
  • 检查base.html的语法:父模板base.html如果存在未闭合的block标签、错误的自定义标签引用,会导致子模板解析失败。仔细排查父模板的标签是否完整闭合,自定义标签是否正确加载。
  • 验证模板配置:确认项目settings.py中的TEMPLATES配置正确:
    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [],
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                ],
            },
        },
    ]
    
    确保BACKEND使用Django默认的模板引擎,APP_DIRS为True(如果模板放在app的templates目录下)。
  • 排查自定义标签冲突:如果项目中使用了自定义模板标签,检查是否存在与endblock同名的标签,或者自定义标签的加载是否正确(是否在模板顶部添加{% load 标签库 %})。

内容的提问来源于stack exchange,提问作者Prosy A.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 15:15:55