Как использовать условный оператор для разных HTML выводов в Django? - PullRequest
0 голосов
/ 25 апреля 2020

Я бы хотел использовать различные макеты Bootstrap в зависимости от того, сколько изображений найдено. В настоящее время я могу получить список изображений, хранящихся в Postgres, выполнив следующее:

{% for image in post.images %}
 <div class="d-flex">
    <div class="col-md-6 mb-1">
       <a href="javascript:void();"><img src="/media/{{ image }}" alt="post-image" class="img-fluid rounded w-100"></a>
    </div>
    <div class="col-md-6 row m-0 p-0">
       <div class="col-sm-12">
          <a href="javascript:void();"><img src="images/page-img/p1.jpg" alt="post-image" class="img-fluid rounded w-100"></a>
      </div>
        <div class="col-sm-12 mt-3">
        <a href="javascript:void();"><img src="images/page-img/p1.jpg" alt="post-image" class="img-fluid rounded w-100"></a>
       </div>
    </div>
 </div>
{% endfor %}

В моей базе данных перечислены изображения, перечисленные в следующем виде:

{"/user01/post/Annotation 2020-04-04 132805.png","/user01/post/Annotation 2020-04-05 093855.png","/user01/post/Annotation 2020-04-05 100056.png",/user01/post/default.jpg,/user01/post/Django01.png,/user01/post/Django02.png}

Я хотел используйте оператор if / then / else, который будет возвращать количество изображений, а затем использовать только указанный класс bootstrap в зависимости от количества изображений.

post.image.count не работает, и мне интересно как я могу получить количество изображений.

1 Ответ

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

Вы можете просто передать количество пост-изображений в шаблоны через контекст как:

def get_post(request,pk):
    post = Post.objects.get(pk=pk)
    return render('templates/post.html',context={post:post,post_image_count:post.images.count}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...