Django中如何在HTML模板判断值是否为1?显示异常排查
解决Django模板中scrapper_status判断失效的问题
可能的原因及对应解决方法
1. 数据类型不匹配
如果scrapper_status在数据库中是字符串类型(比如CharField),或是视图传递的是字符串"1",直接和数字1比较会匹配失败。把判断条件改成和字符串"1"对比:
{% if stud.scrapper_status == "1" %} <td>{{stud.scrapper_status}} --> Started</td> {% else %} <td>{{stud.scrapper_status}} --> Completed</td> {% endif %}
2. 确认字段实际值
先在模板中直接输出字段值和类型,排查是否是值本身不符合预期:
<p>当前scrapper_status值:{{ stud.scrapper_status }}</p>
也可以在视图中打印type(stud.scrapper_status)和具体值,确认数据是否正确传递到模板。
3. 检查变量名拼写
确认模板里的stud.scrapper_status和视图中传递的变量名完全一致,避免因拼写错误导致判断失效。
4. 转换类型后比较
如果字段是字符串但存储的是数字,可通过add:"0"过滤器转成整数再判断:
{% if stud.scrapper_status|add:"0" == 1 %} <td>{{stud.scrapper_status}} --> Started</td> {% else %} <td>{{stud.scrapper_status}} --> Completed</td> {% endif %}
内容的提问来源于stack exchange,提问作者Ajay
相关产品推荐
相关产品推荐

