2011-02-16 60 views
-1

當前的事情,這是我的views.py:如何讓我的Django的過濾器和模板

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|return_element:forloop.counter0).s|other filter 
+0

您發佈相同的問題兩次 – mossplix 2011-02-16 11:21:20

回答

0

對於你的情況,我d建議做以下操作:

{% 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 %} 
相關問題