Вы отображаете каждое сообщение в блоге внутри div с class="row"
, что заставляет каждое сообщение в блоге получать свою собственную строку.
Я предполагаю, что ваши сообщения в блоге обрабатываются с помощью цикла for где-то в шаблоне.
Попробуйте поместить два поста в блоге в каждую строку div, заменив forloop чем-то вроде этого:
{% for post in blog_posts %}
{% if forloop.counter0|divisibleby:2 %}
<div class="row">
<div class="col-md-4">
<div class="card-deck">
<div class="card card card-blog">
<div class="card-image">
<a href="#pablo">
<img class="img rounded img-raised" src="{{ post.thumbnail.url }}" />
</a>
</div>
<div class="card-body">
<a class="badge badge-success" href="{% url "blog:post_list_by_tag" tag.slug %}">
</a>
<h4 class="card-title">
<a href="{{ post.get_absolute_url }}">{{ post.title }}</a>
</h4>
<p class="card-description">
{{ post.body|truncatewords:30|linebreaks }}
</p>
</div>
</div>
</div>
</div>
{% with next_post=list|next:forloop.counter0 %}
{% if next_post %}
<div class="col-md-4">
<div class="card-deck">
<div class="card card card-blog">
<div class="card-image">
<a href="#pablo">
<img class="img rounded img-raised" src="{{ next_post.thumbnail.url }}" />
</a>
</div>
<div class="card-body">
<a class="badge badge-success" href="{% url "blog:post_list_by_tag" tag.slug %}">
</a>
<h4 class="card-title">
<a href="{{ next_post.get_absolute_url }}">{{ next_post.title }}</a>
</h4>
<p class="card-description">
{{ next_post.body|truncatewords:30|linebreaks }}
</p>
</div>
</div>
</div>
</div>
{% endif %}
</div>
{% endif %}
{% endfor %}