假设我有一个整数值,我输出到 django 模板说 x。我还有一张图片,我想连续打印 x 次。我如何在模板中输出这张图片 x 次?
问问题
206 次
2 回答
1
一个快速但丑陋的 hack 是使用make_list过滤器:
{% for i in "xxxx"|make_list %}
{{ image_html }}
{% endfor %}
这将打印四次图像(因为字符串中有四个字符)。
一种更简洁的方法是将列表传递到您的模板中range()
:
context['image_print_range'] = range(1, 5)
...
{% for i in image_print_range %}
{{ image_html }}
{% endfor %}
另一种解决方案(可能是最干净的)是自定义模板标签或过滤器,例如:
@register.simple_tag
def print_multiple(value, count):
"""Print a value multiple times."""
return ' '.join([value] * count)
在您的模板中:
{% print_multiple "foobar" 4 %}
于 2012-06-25T12:18:09.100 回答
1
您可以将其添加到视图中的列表 x 次以在标签中对其进行迭代{% for %}
,或者创建自定义模板标签以重复图像 url x 次。
于 2012-06-25T03:36:19.010 回答