将信息输出到模板(来自下一个数组)

时间:2018-07-10 11:09:30

标签: python django django-templates

停滞了,但是我不明白如何显示下一个数组 有这个:

return render(request, 'main.html', {'arrImages': arrImages,'title': arrTitle})

输出arrImages数组没有任何问题。但是如何获得title?我不明白我必须在哪里循环。

    <div class="container">
{% for images in arrImages %}
<hr>
    <p class="text-justify"> {{ /////????title }}</p>
    <img class = "col-12 ml-auto col-12 mr-auto" src={{ images }}>
{% endfor %}

我必须放在哪里{% for title in arrTitle %}{% endfor %},还是在一个循环中完成?很抱歉遇到这样的问题,但在互联网上找不到)

我通过API工作。没有数据库。 如果有必要,我可以附加views.py

的所有代码

1 个答案:

答案 0 :(得分:0)

简单字符串

如果title(顾名思义)只是一个简单的字符串,则您不需要 进行循环(因为循环遍历字符串意味着您遍历个字符)。因此,您可以将其写为变量。例如:

<div class="container">
{% for images in arrImages %}
<hr>
    <p class="text-justify">{{ title }}</p>
    <img class = "col-12 ml-auto col-12 mr-auto" src={{ images }}>
{% endfor %}

字符串列表

如果这是一个字符串列表,并且每个字符串都对应一个图像,那么您应该 zip 这两个列表一起组成一个可迭代的元组,其中包含标题和图片来源。尽管模板中具有执行此操作的扩展名,但在标准Django中,通常使用视图中的 zip(..) 来执行此操作:

return render(request, 'main.html', {'imageTitles': zip(arrImages, arrTitle)})

然后在模板中,我们需要解包这两个元组:

<div class="container">
{% for image, title in imageTitles %}
<hr>
    <p class="text-justify">{{ title }}</p>
    <img class = "col-12 ml-auto col-12 mr-auto" src={{ image}}>
{% endfor %}