日期之间的Django差异

问题描述 投票:0回答:2

我在django有一个项目,我正在尝试将html渲染为pdf。我正在尝试建造一张桌子,我有两个可变的date1date2,我需要在Diffdate1之间做一个date2

如果结果超过20 woriking days显示1如果没有显示0

我的HTML

                 {% for item in obj %}
                    <tr> 
                        <td>
                            {% if item.date1 - item.date2 > 20 %}
                            1
                            {% else %}
                            0
                            {% endif %}
                        </td>
                    </tr>
                {% endfor %} 
django datetime django-admin datediff
2个回答
2
投票

您可以在模型中添加方法来计算差异,然后在templates / pdf中使用它。例如:

class SomeView(models.Model):
    # .. fields

     def date_diff(self):
         diff = self.date1 - self.date2  # returns time delta object
         return abs(diff.days)

并在模板中使用它:

{% for item in obj %}
    <tr> 
        <td>
            {% if item.date_diff > 20 %}
              1
            {% else %}
              0
            {% endif %}
        </td>
    </tr>
{% endfor %} 

1
投票

您应该在后端执行计算并在渲染模板时发送天数值

difference=item.date1-item.date2
days=difference.days

并在模板中

{% if days > 20 %}
   1
{% else %}
   0
{% endif %}
© www.soinside.com 2019 - 2024. All rights reserved.