假设我有一个整数值,我输出到django模板说x。我还有一张想连续打印x次的照片。我如何在模板中输出这张图片x次?
答案 0 :(得分:1)
您可以将其添加到视图中的列表中x次以在{% for %}
标记中进行迭代,或者创建custom template tag以重复图像网址x次。
答案 1 :(得分:1)
完成此操作的快速但难看的黑客将使用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 %}