gpt4 book ai didi

Django 模板回显空属性

转载 作者:行者123 更新时间:2023-12-01 15:05:52 25 4
gpt4 key购买 nike

我搜索过但找不到类似的问题,如果已经有人回答,我深表歉意。现在让我们进入主题。我有一个带有@property 值的模型(其中 3 个)。所有这些都有效,一个只是返回空,我找不到问题。这是模型的一部分:

@property
def case_number(self):
'''
An formatted number officially designating this case.
'''
s = u'%012d' % self.pk
return s[:3] + '-' + s[3:6] + '-' + s[6:9] + '-' + s[9:]

@property
def case_id(self):
'''
An formatted string, consisting of the prefix NCDAC- and the case
number, officially designating this case.
'''
return 'NCDAC-' + self.case_number

@property
def due_date(self):
margin = self.report_date + datetime.timedelta(days=30);
if timeuntil(margin) <= datetime.timedelta(days=1):
return 'today'
elif timeuntil(margin) < 0:
return 'overdue'
else:
return timeuntil(margin).split(', ')[0]

这是在行中显示数据库结果的模板部分:

    {% for case in sent_cases %}
<tr>
<td>
<a href="{% url "case-detail" case.pk %}">
{{ case.case_number }}
</a>
</td>
<td>{{ case.get_agency_display }}</td>
<td>{{ case.report_date }}</td>
<td>
{% if case.status == "D" %}
<i class="icon-minus-sign"></i> No
{% else %}
<i class="icon-ok-sign"></i> {{ case.ts_submitted|date:"d M Y" }}
{% endif %}
</td>
<td>{{ case.due_date }}</td>
</tr>
{% endfor %}

除 {{ case.due_date }} 外一切正常。它只是一个空 block 。知道为什么会这样吗?

谢谢。

更新: 好吧,我只是尝试返回“某物”,它正在工作。我有一个错误波纹管 - 出于某种原因它不会引发异常。 self.report_date 定义为 report_date = models.DateField(verbose_name='Report Date') 并且我正在尝试获取 report_date + 30 天前剩余的天数。

最佳答案

下面的函数应该可以工作。我首先移动了逾期支票,因为今天支票也适用于那些日期,因为低于 0 天也低于 1 天。我还删除了 timeuntil 的用法,因为你写道你想要几天。

def due_date(self):
margin = self.report_date + datetime.timedelta(days=30)
time_left = margin - datetime.datetime.now()

if time_left < datetime.timedelta(days=0, hours=0, minutes=0):
return 'overdue'
elif time_left <= datetime.timedelta(days=1):
return 'today'
else:
return '%s days' % time_left.days

关于Django 模板回显空属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13543602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com