Djangoのテンプレートにて、「for i in range(10):」のように特定回数ループを行うやりかたの備忘録です。
目次
結論
<body>
{% with ''|center:n as range %}
{% for _ in range %}
<p>繰り返そうよ</p>
{% endfor %}
{% endwith %}
</body>
nに任意の数字を入れることでその回数ループができます。
また、ループ回数を取得したい場合は「forloop.counter」を用いることで実現できます。
<body>
{% with ''|center:n as range %}
{% for _ in range %}
<p>{{ forloop.counter }}回目のループだよ</p>
{% endfor %}
{% endwith %}
</body>
views.pyから値を渡して、その回数分回したい場合は次のように行います。
from django.views import generic
class SampleView(generic.TemplateView):
template_name = "index.html"
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['count'] = 10
return context
<body>
{% with ''|center:count as range %}
{% for _ in range %}
<p>{{ forloop.counter }}回目のループだよ</p>
{% endfor %}
{% endwith %}
</body>
コメント