我是 python django 和 solr 的新手,我在我的应用程序中正在做的是将结束时间存储为sol 0000-00-00T01:00:00Z
。
然后我检索这些数据并将其传递给字典
return render(request, 'searchvenueresults.html',{'query': result['query'],
'data_set':result['data_set'],
'data_close':result['data_close'],
'exact_found':result['exact_found'],
'numFound': result['numFound']
})
所以我的data_set保持关闭时间,我按如下方式访问它:
{% for data in data_set %}
Closes at <span class="time">{{ data.venue_closing_time }} PM</span>
{% endfor %}
当我使用此代码时,它将关闭时间显示为:
Closes at 0002-11-30T01:00:00Z PM
我想要展示的只是:
Closes at 01:00 PM
我试过
{% for data in data_set %}
Closes at <span class="time">{{ data.venue_closing_time|date:'H:i' }} PM</span>
{% endfor %}
但它显示空白值,不显示任何内容。
请提前帮助,谢谢。
答案 0 :(得分:1)
date
模板过滤器仅在venue_closing_time
为datetime
对象时才有效。如果你只是传递一个字符串(就像你正在做的那样)那么它将无法工作。在这种情况下,您需要首先解析字符串,例如:
from django.utils.dateparse import parse_datetime
venue_closing_time = parse_datetime(data['venue_closing_time'])
如果您将其传递给模板,那么您的日期过滤器将按预期工作。
如果您使用Solr库,首先将从Solr获取的数据转换为适当的Python表示(例如,pysolr),这将更容易。