Вы можете получить доступ к текущему счетчику forl oop в Django шаблонах. Наличие заявления if на forloop.counter
разрешит ваше требование. Используя это, ваш шаблон будет выглядеть так:
{% for post in all_images %}
{{ post.username }}
{% if post.profile_pic %}
<img src = "{{....}}">
{% endif %}
{% if forloop.counter == 2 %}
{{ suggested_post.username }}
{% if suggested_post.profile_pic %}
<img src = "{{....}}">
{% endif %}
{% endif %}
{% endfor %}
Вышеприведенное решение решит вашу проблему, но во избежание дублирования кода вы можете иметь крошечный шаблон, который отображает сообщение. Затем включите это для каждого поста или предложенного поста.
Тогда у вас будет post.html
:
{{ suggested_post.username }}
{% if suggested_post.profile_pic %}
<img src = "{{....}}">
{% endif %}
И шаблон all_posts будет выглядеть примерно так:
{% for post in all_images %}
{% include 'post.html' %}
{% if forloop.counter == 2 %}
{% include 'post.html' with post=suggested_post %}
{% endif %}
{% endfor %}