Django日期之间的差异

时间:2019-03-21 11:54:55

标签: django datetime django-admin datediff

我在Django有一个项目,我正在尝试将html渲染为pdf。 我正在尝试建立表,并且有两个变量date1date2,并且我需要在Diffdate1之间进行date2。 / p>

如果结果超过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 %} 

2 个答案:

答案 0 :(得分:2)

您可以在模型中添加一种方法来计算差异,然后在template / 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 :(得分:1)

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

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

和在模板中

{% if days > 20 %}
   1
{% else %}
   0
{% endif %}