2013-04-02 91 views
0

我想用一個Django forloop.counter這樣的:在這種情況下可以使用Django forloop.counter嗎?

{% for i in "xxxxxxxxxxxxxxxxxxxx" %} 
    {{ i.time_code{{forloop.counter}} }} 
{% endfor %} 

事實證明,這是不可能做到這一點。

達到此目的的原因。我有20個數據庫coloumns,如:time_code1,time_code2 .... time_code20。所以,而不是分別打電話給我,我想這樣做。

+0

檢查了這一點:HTTP ://stackoverflow.com/questions/1107737/numeric-for-loop-in-django-templates –

回答

0

我用過類似的方法。這裏是例子,不知道它是否會有所幫助。

<form action= "{% url 'result_show' forloop.counter0 %}" method="post"> 

它所做的是接受的forloop.counter0輸出作爲視圖的方法的參數。它的工作方式。

您是否考慮過將time_code s遷移到列表中,並通過forloop.counter訪問它們?

0

我不確定我是否正確理解您的問題。你想要動態檢索屬性嗎?你可以寫一個自定義標籤:

from django.template import Library 

register = Library() 

@register.simple_tag 
def get_attr(obj, name, default=None): 
    return getattr(obj, str(name), default) 

那麼你可以的屬性列表傳遞給您的模板:

attrs = ("time_code"+str(i) for i in xrange(0, 100)) 
return render_to_response("test.html", { "attrs": attrs }) 

終於在您的模板:

{% for attr in attrs %} 
    {% get_attr i attr %} 
{% endfor %} 
相關問題