Django模板语法错误:无效块标签排查求助(新手)
检查标签拼写与闭合
确认所有{% ... %}标签拼写准确,比如{% endblock %}不能写成{% end block %}(多余空格)或{% end %};{% extends %}不能少写末尾的s。同时确保每个{% block 块名 %}都有对应的{% endblock %},且块名前后无多余空格(比如{% block content %}是正确格式)。核对模板继承逻辑
确保login.html第一行是{% extends "base.html" %},路径与模板文件实际位置匹配。另外,login.html中定义的block名称必须和base.html中的完全一致(大小写敏感),比如base里是{% block content %},login里不能写成{% block Content %}。排查自定义/第三方标签问题
如果使用了自定义模板标签或第三方库标签,必须在模板顶部用{% load 标签库名 %}加载,同时确保对应app已添加到项目的INSTALLED_APPS配置中。定位报错行的标签问题
查看报错截图里明确指出的“无效标签”内容,直接定位到login.html或base.html的对应行,检查是否有多余的{%/%}符号,或者标签嵌套错误(比如在{% if %}等逻辑标签内嵌套{% block %}是不允许的)。核对Django版本兼容性
《Python Crash Course》可能基于特定Django版本编写,运行python -m django --version查看你当前的版本,若版本差异较大,部分旧语法可能在新版本中被判定为无效。可以对照官方文档确认标签语法是否有变更。
内容的提问来源于stack exchange,提问作者Zeyad Khaled

