我搜索,但无法找到类似的问题,所以我很抱歉,如果这已被回答。现在让我们开始讨论话题。我有@property值的模型(其中3个)。他们所有的工作,一个只是返回空,我找不到问题。下面是模型的一部分:Django模板回声空属性
@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]
这里是显示DB导致行规部分:
{% 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}}。这只是空的块。任何想法为什么发生这种情况?
谢谢。
更新:好吧我只是想返回“东西”,它的工作。我有一个错误波纹管 - 由于某种原因,但它并没有上升异常。 self.report_date
被定义为report_date = models.DateField(verbose_name='Report Date')
,我试图得到多少天,直到report_date + 30天。
作为测试,请尝试从视图内或从控制台而不是模板调用它,看看是否有抛出的异常。模板渲染器消除异常。 –
请确保'timeuntil(margin).split(',')[0]'这个返回一些值? –
@JoeHolloway 我试图从视图调用该道具 - 没有任何事(没有例外)。 @AamirAdnan 我以前试过用纯字符串'something'代替'timeuntil(margin).split(',')[0]',并且模板中仍然没有任何回应。 – NemanjaSRB