首页 > 解决方案 > 分页 Django 模板的最后一页所需的列数不同

问题描述

我的问题涉及需要对分页 Django 模板的最后一页进行样式设置,以便如果页面上的最大条目少于 6 个(模板的其他页面显示在两列中),它只显示为一列。

我正在使用 Django 3.1.7

我有一个使用以下视图的 Django 模板:

Django视图:

class SoundSeedView(generic.ListView):

    model = SoundFile
    fields = ['sound_file']
    template_name = 'seed_history.html'
    paginate_by = 6

我在模板上使用了两列,如下所示:

CSS:

#columns { columns: 2; }

Django模板:

 <h1>Sound file list</h1>
<button id="comments-button" onclick="displayComments()">View Comments</button>  
<div id="blackbackground">
</div>     
    <div class="container" id="columns">
      {% for document in object_list%}
      <div id= "entryContainer">
      <h2 id = 'ttitle'> {{ document.sound_file.name }} </h2>
      <p> Created on: {{ document.created_on}} </p>
      <div id = "nameTrunc">
      <p> Created by: {{ document.user }} </p>
    </div>
      <div id="nc" class = "new-comments"> 
      <audio controls class="thisAudio" id="player">
        <source src="{{ document.sound_file.url }}">
      </audio>
      {% if user.is_authenticated %}
      <a id = 'downloadbutton' class = 'dwnld-button' href="{{ document.sound_file.url }}" download >Download</a>
      {% endif %}
       <p class = "comments-text"> Comments: {{ document.comments }}</p>
          </div> 
      </div>  
    {% endfor %}
  </div>

我的问题是,如果此分页模板的最后一页上的最大条目数少于 6 个,则<div id= "entryContainer">如果条目数为奇数(1 个条目、3 个条目或 5 个条目),则会将它们拆分为两列。这会破坏页面的样式并使其看起来非常难看。

由于用户输入,对象列表将不断增长,因此我不会控制其总大小。我需要一种能够为模板的最后一页设置样式的方法,以便在最后一页上的最多 6 个条目少于 6 个条目时仅显示为一列。

请问你能帮忙吗?

最好的祝愿,

卡梅伦

标签: cssdjangodjango-templates

解决方案


推荐阅读