Как добавить предложенный пост - PullRequest
0 голосов
/ 01 апреля 2020

как добавить предложенный пост после моих первых двух постов. Например, Post Post ... Рекомендуемое сообщение ... Post Post.

def home(request):
    all_images = Image objects.filter(imageuploader_profile=request.user, active=True)
    context={'all_images':all_images}

#my post here
{% for post in all_images %}
{{ post.username }}
{% if post.profile_pic %}
<img src = "{{....}}">
{% endif %}
{% endfor %}

1 Ответ

1 голос
/ 01 апреля 2020

Вы можете получить доступ к текущему счетчику 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 %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...