0

假设我有一个整数值,我输出到 django 模板说 x。我还有一张图片,我想连续打印 x 次。我如何在模板中输出这张图片 x 次?

4

2 回答 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 回答