如何在现有Django模板代码中嵌入指定Python逻辑判断代码?
Django模板中实现多日期区间判断逻辑
嘿,我来帮你把那个Python逻辑转换成Django模板能识别的写法!
你原来的需求是检查i.5和i.6这两个日期是否都落在d.0到d.1的区间里,满足条件就显示saptamani的内容。Django模板虽然不能直接用Python的all()函数,但我们可以用模板支持的逻辑运算符and来组合条件,完全能达到同样的效果。
先给你修改好的完整模板代码:
{% for i in concedii %} <tr> <td>{{ i.7 }}</td> <td>{{ i.8 }}</td> {% for d in luna %} <td class="text-center"> {% if d.0 < i.5 < d.1 and d.0 < i.6 < d.1 %} {{ saptamani }} {% endif %} </td> {% endfor %} <td>-</td> </tr> {% endfor %}
这里有几个细节需要注意:
- 我把你原模板里的
d.0 > i.5 > d.1改成了d.0 < i.5 < d.1,因为你给出的Python逻辑是val1 < x < val2,也就是区间是左开右开的正向区间。如果你的实际需求是反向区间(比如val1 > x > val2),再把<改回>就行。 - 用
and连接了两个判断条件,确保i.5和i.6同时满足在d.0和d.1之间的要求 - 满足条件时渲染
{{ saptamani }},对应你Python代码里的print(saptamani)
另外要确认一下d和i里的日期元素是可比较的类型(比如Django的DateField对象或者标准的日期字符串),这样模板里的比较操作才能正常工作哦。
内容的提问来源于stack exchange,提问作者Laurentiu Ionut
相关产品推荐
相关产品推荐

