how to create counter loop in django template?

折月煮酒 提交于 2019-12-31 07:41:35

问题


can any tell me how can I write below code of c in django

for(c=0; c<5; c++)
  //do something

i had tried below code but it gives me an error

{% for(c=0; c<5; c++)%}
     <div class="tab-content">
    <h1 class="tab" title="title for page 1">Page 1</h1>
    <p>This is the content of tab 1 on container 1</p>
     </div>     
{% endfor %}

回答1:


When you render your template, you may pass range

render_to_response('template_x.html', {'range5': range(5)})

And in html template, probably like this

{% for i in range5 %}
    <div class="tab-content">
    <h1 class="tab" title="title for page {{i}}">Page {{i}}</h1>
    <p>This is the content of tab {{i}} on container {{i}}</p>
    </div>  
{% endfor %}



回答2:


I guess you are not good at searching, right (:

A good documentation for a good framework... On the other hand, why you ask for a c-like loop structure in a framework written for python is another question

EDIT: For loop in django templates iterates through an array (or list in python terms). So you have to have a list to iterate.. In your related view, lets say yopu have a number list

number_list = [1,2,3,4,5]

if you pass this list to the template with the same name, then you can iterate through it with

{%for num in nuber_list%}
    Number is : {{num}}
{%endfor%}

But as i said, you have to pass that list to template in the return statement line that returns an httpresponse or render your contect to your template as it described in here




回答3:


I was curious and found a way to do this. Disclaimer: I consider the following code to be WRONG:

{% for i in "abcde" %} do something {% endfor %}

Replace "abcde" with a string of the range you want.



来源:https://stackoverflow.com/questions/5077978/how-to-create-counter-loop-in-django-template

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!