我试图比较我的html模板中的日期。如果当前日期介于开始日期和结束日期之间,则显示可用日期。但是,即使我的日期介于开始日期和结束日期之间,我当前的代码也仅显示Not available
。
now变量由dateTime.now()生成并传递给html。使用Django' s April 16, 2018, 1:44 p.m.
DateTimeField
格式
<tbody>
{% for key in keys%}
<tr>
<th scope="row">{{key.name}}</th>
<td>{{key.lock}}</td>
<td>{{key.start_date}}</td>
<td>{{key.end_date}}</td>
{% if now >= key.start_date and now <= key.end_date %}
<td>Available</td>
{% else %}
<td>Not Available</td>
{% endif %}
<td><button type="button" class="btn btn-primary btn-rounded btn-sm my-0">Unlock</button></td>
</tr>
{% endfor %}
</tbody>
来自views.py的代码
keys = Key.objects.filter(user=request.user)
dateTimeNow = datetime.now()
args = {'keys': keys, 'now': dateTimeNow}
return render(request, self.template_name, args)
答案 0 :(得分:0)
将以下方法添加到Key模型中:
@property
def is_now(self):
"""
Returns whether the key is active now
:return:
"""
return self.start_date < timezone.now() < self.end_date
现在在你的模板中:
{% for key in keys%}
{% if key.is_now %}
available
{% endif %}
{% endfor %}