我可以访问字典值中的元素索引吗?

2024-03-28 14:16:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在传递一个带有一个键、值对的字典,其中的值是一个图像列表。有没有办法只循环遍历值列表中的前4个元素

这是我的views.py文件:

def portfolio_couples(request):
    img_list = os.listdir("/Users/andershanson/Documents/Django/kh_photo/static/my_app/images/portfolio")
    context = {"images": img_list}
    return render(request, 'my_app/couples.html', context)

这是我的HTML模板:

{% if images %}
    {% for image in images %}
        <img src="/static/my_app/images/portfolio/{{ image }}" class="container-fluid px-0 m-0" alt="portfolio-pic">
    {% endfor %}
{% endif %}

这目前可以通过图像循环工作,但是有没有办法索引字典值中的前4个元素??谢谢


1条回答
网友
1楼 · 发布于 2024-03-28 14:16:36

您可以在视图中对此进行切片:

def portfolio_couples(request):
    img_list = os.listdir("/Users/andershanson/Documents/Django/kh_photo/static/my_app/images/portfolio")
    #                    slicing &downarrow;  &downarrow;
    context = {"images": img_list[:4]}
    return render(request, 'my_app/couples.html', context)

或与^{} template filter [Django-doc]一起:

{% for image in images|slice:":4" %}
    <img src="/static/my_app/images/portfolio/{{ image }}" class="container-fluid px-0 m-0" alt="portfolio-pic">
{% endfor %}

但是视图可能是执行此操作的最佳位置,因为视图负责业务逻辑,而模板负责呈现逻辑

相关问题 更多 >