这是我的views.py:
a=[{'s':'sss'},{'s':'wwww'},{'s':'ssaawdw'},{'s':'qqqww'}]
def main(request, template_name='index.html'):
context ={
'a':a,
}
return render_to_response(template_name, context)
这是我的过滤器:
def return_next_element(list, index):
if(index<len(list)-1):
return list[index+1]
else :
return 0
register.filter('return_next_element',return_next_element)
这是我的模板:
{% load myfilters %}
{% for i in a %}
{{ i }}ww{{ (a|return_element:forloop.counter0).s }}
{% endfor %}
但是,这不能得到a.s,
所以我该怎么做,
感谢
更新
这不是同一个问题,因为我会这样使用:
a|return_element:forloop.counter0).s|other filter
答案 0 :(得分:0)
根据您的情况,我建议您执行以下操作:
{% for dictionary in a %}
{% for key, value in dictionary.iteritems %}
{{ key }}ww{{ value }}
{% endfor %}
{% endfor %}
但要回答您的问题,请使用with
标记。
http://docs.djangoproject.com/en/dev/ref/templates/builtins/#with
{% with a|return_element:forloop.counter0 as result %}
{{ result|other_filter }}
{% endwith %}