Django中TemplateSyntaxError报错:'ifequal'标签无效问题求助
解决Django TemplateSyntaxError: 无效块标签'ifequal'
错误原因
ifequal是Django旧版本的模板标签,在Django 1.10及以后的版本中已被废弃,不再默认支持。新版本的Django模板引擎无法识别该标签,因此会抛出"无效块标签'ifequal'"的错误。
解决方法
方法1:替换为标准的if比较(推荐)
直接使用Django模板内置的if语句做相等判断,这是官方推荐的写法,兼容性更强:
{% if request.session.role == 'cust' %} <li class="nav-item active m1-3"> <a class="nav-link" href="giveadd">Give Advertisement</a> </li> {% endif %}
方法2:加载过时标签库(仅适用于旧版本Django)
如果你使用的是Django 1.9及更早版本,可以在模板顶部加载future标签库来启用ifequal:
{% load future %}
注意:该标签库在Django 1.10+已被移除,不推荐在新版本中使用此方式。
内容的提问来源于stack exchange,提问作者Rushikesh Pathare
相关产品推荐
相关产品推荐

