【问题标题】:How to render django blog posts in a row?如何连续渲染 django 博客文章?
【发布时间】:2019-03-25 08:46:22
【问题描述】:

为什么我的帖子下架了?如何解决这个问题 post_detail_html

<div class="container">
        <div class="section-fluid ">
  <br />
            <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>

        </div>

    </div>
  </div>

检查这张图片;

如何制作这样的,连续(3张卡片);

【问题讨论】:

    标签: html css django twitter-bootstrap django-templates


    【解决方案1】:

    您在带有class="row" 的 div 中显示每篇博文,这导致每篇博文都有自己的行。

    我假设您的博客文章正在模板中的某处使用 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 %}
    

    【讨论】: