在我的模板中,我需要知道给定变量的'timesince'是否大于另一个变量。如果它大于该行,我添加一个类。
无法想出在模板中比较这些并在视图中比较它们的方法似乎同样复杂,因为我不确定如何循环它们,然后将该信息可靠地传递给模板以添加类。
有什么想法吗?
答案 0 :(得分:1)
您无法使用timesince
执行此操作,您必须使用自定义标记或在视图中执行此操作。
我建议您在视图中执行此操作:
def someview(request):
objs = Some.object.filter()
ctx = {}
ctx['objs'] = [] # hold your objects
for i in objs:
ctx['objs'].append((i,i.date_field < someother_obj.date_field))
return render(request, 'template.html', ctx)
在你的模板中:
{% for obj,flag in objs %}
<tr><td {% if flag %}class="marked"{% endif %}>{{ obj }}</td></tr>
{% endfor %}
如果您想使用自定义标记执行此操作,请创建一个模板以显示该行,然后创建一个具有您的比较逻辑的inclusion tag。