从数组创建多个页面

时间:2017-02-07 13:37:20

标签: javascript python html arrays django

我正在制定关于民事州的Django Project,我根据HTML template提出了一个问题。

我正在我的BirthCertificate table中显示一个包含HTML Array的对象列表,您可以在我的脚本中看到:

{% extends 'Base_Accueil.html' %}

{% load staticfiles %}

{% block content %}

{% load bootstrap %}

        <style>
        table, th, td {
        border: 1px solid black;
        padding: 10px;
        border-collapse: collapse;
        text-align: center;
        }

        th {background-color: #0083A2;}

        tr:hover td{background-color:lightslategray;}

        </style>

        <!-- Title page -->

        <h2 align="center"> <font color="#0083A2"> Consultation des tables annuelles et décennales </font></align></h2>

        <!-- Body page -->

        <br></br>
        <h4> <b><font color="#0083A2"> <span class="glyphicon glyphicon-user"></span> Liste des actes de naissance </b></font></h4>

        <form method="GET" action="">
            <input type="text"  name="q1" placeholder="Entrer une année" value="{{ request.GET.q1 }}"> &nbsp;
            <input class="button" type="submit" value="Rechercher">
        </form>

        <br></br>

        <table style="width:50%">
            <tbody>
                <tr>
                    <th>ID</th>
                    <th>Nom</th>
                    <th>Prénom</th>
                    <th>Date de Naissance</th>
                    <th>Ville de Naissance</th>
                    <th>Pays de Naissance</th>
                    <th>Date création de l'acte</th>
                </tr>
                {% for item in query_naissance_list %}
                <tr>
                    <td> {{item.id}} </td>
                    <td> {{item.lastname}} </td>
                    <td> {{item.firstname}} </td>
                    <td> {{item.birthday}} </td>
                    <td> {{item.birthcity}} </td>
                    <td> {{item.birthcountry}} </td>
                    <td>{{item.created}}</td>
                </tr>
                {% endfor %}
            </tbody>
        </table>

    </div>

{% endblock content %}

我收到了这个网站页面:

enter image description here

我的问题是:我如何从我的数组中添加一些页面以便例如以10为单位显示列表? 我必须使用哪种语言:PythonHTMLJavascript(更好的方式不是吗?),......?

这是我第一次制作这类东西而且我没有在StackOverFlow或其他地方找到这样做的线索。

非常感谢你提前!

1 个答案:

答案 0 :(得分:2)

可能您正在寻找pagination。 您可以使用Paginator将页面添加到列表视图中。

在您的观点中执行以下操作:

from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
paginator = Paginator(query_naissance_list, 10)
page = request.GET.get('page')
try:
    query_naissance_list = paginator.page(page)
except PageNotAnInteger:
    query_naissance_list = paginator.page(1)
except EmptyPage:
    query_naissance_list = paginator.page(paginator.num_pages)

在模板中添加导航:

    {% if query_naissance_list.has_previous %}
        <a href="?page={{ query_naissance_list.previous_page_number }}">previous</a>
    {% endif %}

    <span class="current">
        Page {{ query_naissance_list.number }} of {{ query_naissance_list.paginator.num_pages }}.
    </span>

    {% if query_naissance_list.has_next %}
        <a href="?page={{ query_naissance_list.next_page_number }}">next</a>
    {% endif %}