new*_*ver 3 python django django-templates
我对django模板很新,并且给人的印象是我还没有理解一些基础知识.
我有一个元素列表,我需要根据前一个和下一个元素的条件呈现列表的元素(如果隐藏了以下或前面的元素,我需要将当前元素标记为border元素) .
如何for在Django模板的循环中引用前一个和后面的元素?
Tim*_*ony 11
您可以为和编写自定义模板过滤器:nextprevious
def next(value, arg):
try:
return value[int(arg)+1]
except:
return None
Run Code Online (Sandbox Code Playgroud)
并在模板中:
{% for ... %}
{% with list|next:forloop.counter0 as next %}
{% if next.is_hidden %}
...
{% endif %}
{% endwith %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
但正如其他人所说的那样,通过你的观点可能有更多的elegants解决方案