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

Windows环境下Django模板报endblock标签未注册/加载错误求助

Django模板块错误排查建议

错误提示:

第17行的块标签无效:'endblock',预期为'endblock'或'endblock stylesheets'。您是否忘记注册或加载此标签?

问题背景

原本正常运行的Django应用,在Windows 11开发环境(PyCharm工具)出现上述模板块错误。本地测试过Python 3.11.1、3.7.3搭配Django 3.2.16,问题依旧,但相同代码在Ubuntu服务器(Python 3.10.6 + Django 3.2.16)可正常运行。

相关模板代码(base.html):

<!DOCTYPE html>
<html lang="en">
{% load static %}
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" href="{% static 'assets/img/orange-img.png' %}" type="image/x-icon">

  <title>
    Clever - {% block title %}{% endblock %}
  </title> 

  <!-- Specific Page CSS goes HERE  -->
  <link rel="stylesheet" href="{% static 'assets/css/blue_theme.css' %}">
  {% block stylesheets %}

  {% endblock  stylesheets %}

</head>
<body class="hold-transition {% block body_class %}{% endblock body_class %}; w3-theme-l4">

  {% block content %}{% endblock content %}
  <div style="text-align: center">
      {% include 'includes/footer.html' %}
  </div>

  <!-- Specific Page JS goes HERE  -->
  {% block javascripts %}
  {% endblock javascripts %}
  {% include 'session_security/all.html' %}

</body>
</html>

解决建议

  • 统一换行符格式:Windows与Linux换行符(CRLF/LF)存在差异,可能导致模板解析异常。在PyCharm中打开base.html,点击右下角的换行符标识(如CRLF),切换为LF后保存,重启Django服务测试。
  • 清理模板缓存:执行命令python manage.py clearcache清理Django缓存,同时手动删除项目内的__pycache__文件夹及相关缓存目录,避免旧缓存干扰。
  • 检查文件隐藏字符:用纯文本编辑器(如Notepad++)打开base.html,查看是否存在不可见的特殊字符,将文件保存为纯UTF-8格式后重试。
  • 验证子模板继承:检查所有继承base.html的子模板,确认stylesheets块的语法正确,无未闭合标签或拼写错误的endblock。
  • 简化模板测试:临时将stylesheets块简化为{% block stylesheets %}{% endblock stylesheets %},运行项目验证是否报错,再逐步恢复其他内容定位问题点。

内容的提问来源于stack exchange,提问作者Al G

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 06:05:21