in my view
context ={
"items":Items.objects.all(),
"item_pics":Item_pics.objects.all(),
}
return render(request, 'menu/items.html', context)
my object "item_pics" looks like that
item_pics = [[{'item_id': 1, 'is_front': False, 'url': 'url_to_the_image1'},
{'item_id': 1, 'is_front': False, 'url': 'url_to_the_image2'},
{'item_id': 1, 'is_front': False, 'url': 'url_to_the_image3'},
{'item_id': 1, 'is_front': False, 'url': 'url_to_the_image4'},
{'item_id': 1, 'is_front': True, 'url': 'url_to_the_image5'},
{'item_id': 1, 'is_front': True, 'url': 'url_to_the_image6'},
{'item_id': 1, 'is_front': True, 'url': 'url_to_the_image7'},
{'item_id': 1, 'is_front': True, 'url': 'url_to_the_image8'},
{'item_id': 1, 'is_front': True, 'url': 'url_to_the_image9'}],
[{'item_id': 2, 'is_front': False, 'url': 'url_to_the_image1'},
{'item_id': 2, 'is_front': False, 'url': 'url_to_the_image2'},
{'item_id': 2, 'is_front': False, 'url': 'url_to_the_image3'},
{'item_id': 2, 'is_front': False, 'url': 'url_to_the_image4'},
{'item_id': 2, 'is_front': False, 'url': 'url_to_the_image5'},
{'item_id': 2, 'is_front': False, 'url': 'url_to_the_image6'},
{'item_id': 2, 'is_front': False, 'url': 'url_to_the_image7'},
{'item_id': 2, 'is_front': False, 'url': 'url_to_the_image8'},
{'item_id': 2, 'is_front': False, 'url': 'url_to_the_image9'}]
]
my template
{% for pic in item_pics %}
{% if pic.is_front %}
<img src="{{ pic.url }}">
{% endif %}
{% endfor %}
The problem
How can pick the first occurrance of pic.is_front == True
and then stop the for loop
Another problem
If pic.is_fron = False
for every picture of the item_pics
i would like to pick the first pic of the item_pics
in python will be something like
for pics in item_pics:
found = False
for pic in pics:
if pic['is_front'] == True and found == False:
print(pic['item_id'], pic['url'])
found = True
if found == False:
print(pics[0]['item_id'], pics[0]['url'])