PaginatorLink to this heading

Soláthraíonn Django cúpla rang a chuidíonn leat sonraí leathanaigh a bhainistiú - is é sin, sonraí atá roinnte ar fud roinnt leathanaigh, le naisc “Roimhe Sea/Ar Aghaidh”. Tá na ranganna seo ina gcónaí in:source: django/core/paginator.py.

Le haghaidh samplaí, féach an:doc: `Treoir ábhair leathanacha' </topics/pagination>.

Aicme PaginatorLink to this heading

class Paginator(object_list, per_page, orphans=0, allow_empty_first_page=True, error_messages=None)Link to this definition

Feidhmíonn leathanaigh cosúil le seicheamh de:class: Leathanach nuair a úsáidtear `len () ``nó é ag athrá go díreach.

Paginator.object_listLink to this definition

Riachtanach. Liosta, tuple, QuerySet, nó réad eile atá inslithe le modh count () ``nó ``__len__ (). Le haghaidh leathanaigh chomhsheasmhach, ba cheart QuerySets a ordú, m.sh. le an:meth: ~django.db.models.query.queryset.order_by clásal nó le clásal réamhshocraithe:attr: ~Django.db.Models.Options.Ordering ar an tsamhail.

Paginator.per_pageLink to this definition

Riachtanach. An líon uasta na míreanna atá le cur san áireamh ar leathanach, gan dílleachtaí san áireamh (féach an argóint roghnach: attr: ~Paginator.orphans thíos).

Paginator.orphansLink to this definition

Optional. Use this when you don't want to have a last page with very few items. If the last page would normally have a number of items less than or equal to orphans, then those items will be added to the previous page (which becomes the last page) instead of leaving the items on a page by themselves. For example, with 23 items, per_page=10, and orphans=3, there will be two pages; the first page with 10 items and the second (and last) page with 13 items. orphans defaults to zero, which means pages are never combined and the last page may have one item. orphans should be less than the per_page value.

Paginator.allow_empty_first_pageLink to this definition

Optional. Whether or not the first page is allowed to be empty. If False and object_list is empty, then an EmptyPage error will be raised.

Paginator.error_messagesLink to this definition

Ligeann an argóint error_messages duit na teachtaireachtaí réamhshocraithe a ardóidh an paginator a shárú. Pas isteach i bhfoclóir le heochracha a mheaitseálann leis na teachtaireachtaí earráide is mian leat a shárú. Is iad na heochracha teachtaireachta earráide atá ar fáil ná: invalid_page, min_page`, agus no_results.

Mar shampla, seo an teachtaireacht earráide réamhshocraithe:

Python console
>>> from django.core.paginator import Paginator
>>> paginator = Paginator([1, 2, 3], 2)
>>> paginator.page(5)
Traceback (most recent call last):
  ...
EmptyPage: That page contains no results

Agus seo teachtaireacht earráide saincheaptha:

Python console
>>> paginator = Paginator(
...     [1, 2, 3],
...     2,
...     error_messages={"no_results": "Page does not exist"},
... )
>>> paginator.page(5)
Traceback (most recent call last):
  ...
EmptyPage: Page does not exist

ModhannaLink to this heading

Paginator.get_page(number)Link to this definition

Tuairisceáin a: aicme: réad Leathanach leis an t-innéacs bunaithe ar 1 a thugtar, agus uimhreacha leathanaigh lasmuigh de raon agus neamhbhailí a láim

Mura bhfuil an leathanach ina uimhir, filleann sé an chéad leathanach ar ais. Má tá uimhir an leathanaigh diúltach nó níos mó ná líon na leathanaigh, filleann sé an leathanach deireanach ar ais.

Ardaíonn eisceacht an:exc: EmptyPage ach má shonraíonn tú Paginator (..., allow_empty_first_page=False) ``agus an `object_list folamh.

Paginator.page(number)Link to this definition

Tuairisceáin a: aicme: réad Leathanach leis an innéacs 1-bhunaithe a thugtar. Ardaithe:exc: PageNotanInteger mura féidir an uimhre a thiontú go sláimhir trí ``int () ``a ghlaoch. Ardaithe:exc: EmptyPage mura bhfuil an uimhir leathanaigh a thugtar ann.

Paginator.get_elided_page_range(number, *, on_each_side=3, on_ends=2)Link to this definition

Tugann liosta 1-bhunaithe ar ais d'uimhreacha leathanaigh cosúil la:attr: Paginator.page_range, ach féadfaidh sé ellipsis a chur le ceachtar nó ar an dá thaobh den uimhir leathanaigh reatha nuai:attr: Paginator.num_pages mór.

Cinntear líon na leathanaigh atá le cur san áireamh ar gach taobh den uimhir leathanaigh reatha ag an argóint on_each_side atá réamhshocraithe go 3.

Cinntear líon na leathanaigh atá le cur san áireamh ag tús agus ag deireadh raon leathanaigh ag an argóint on_ends` atá réamhshocraithe go 2.

Mar shampla, leis na luachanna réamhshocraithe do on_each_side agus on_ends, má tá an leathanach reatha 10 agus má tá 50 leathanach ann, beidh raon an leathanaigh [1, 2, '...', 7, 8, 9, 10, 11, 12, 13, '...', 49, 50]. Mar thoradh air seo beidh leathanaigh 7, 8, agus 9 ar thaobh na láimhe clé de agus 11, 12, agus 13 ar dheis den leathanach reatha chomh maith le leathanaigh 1 agus 2 ag an tús agus 49 agus 50 ag an deireadh.

Ardaithe:exc: Invalidpage mura bhfuil an uimhir leathanaigh thugtar ann.

tréitheLink to this heading

Paginator.ELLIPSISLink to this definition

Sreang inaistrithe a úsáidtear mar ionad d'uimhreacha leathanaigh éilithe sa raon leathanaigh ar ais ag: meth: ~paginator.get_elided_page_range. Is é réamhshocraithe '... '.

Paginator.countLink to this definition

Líon iomlán na rudaí, ar fud na leathanaigh go léir.

Paginator.num_pagesLink to this definition

Líon iomlán na leathanaigh.

Paginator.page_rangeLink to this definition

Athraitheoir raon 1-bhunaithe d'uimhreacha leathanaigh, m.sh. ag toradh [1, 2, 3, 4].

AsyncPaginator classLink to this heading

class AsyncPaginator(object_list, per_page, orphans=0, allow_empty_first_page=True, error_messages=None)Link to this definition

Asynchronous version of Paginator.

AsyncPaginator has the same attributes and signatures as Paginator, with the following exceptions:

  • The attribute Paginator.count is supported as an asynchronous method AsyncPaginator.acount().

  • The attribute Paginator.num_pages is supported as an asynchronous method AsyncPaginator.anum_pages().

  • The attribute Paginator.page_range is supported as an asynchronous method AsyncPaginator.apage_range().

AsyncPaginator has asynchronous versions of the same methods as Paginator, using an a prefix - for example, use await async_paginator.aget_page(number) rather than paginator.get_page(number).

Aicme LeathanachLink to this heading

De ghnáth ní thógfaidh tú rudaí Page de láimh - gheobhaidh tú iad trí:class: Paginator a athrá, nó trí:meth: Paginator.page a úsáid.

class Page(object_list, number, paginator)Link to this definition

Feidhmíonn leathanach cosúil le seicheamh de:attr: Page.Object_List nuair a úsáidtear `len () ``nó ag athrá go díreach é.

ModhannaLink to this heading

Page.has_next()Link to this definition

Tugann sé ar ais True má tá an chéad leathanach eile ann.

Page.has_previous()Link to this definition

Tugann sé ar ais True má tá leathanach roimhe seo ann.

Page.has_other_pages()Link to this definition

Tugann sé ar ais True má tá an chéad leathanach eile **nó ** roimhe seo ann.

Page.next_page_number()Link to this definition

Tugann an chéad uimhir leathanaigh eile ar ais. Ardaithe:exc: Invalidpage mura bhfuil an chéad leathanach eile ann.

Page.previous_page_number()Link to this definition

Tugann uimhir leathanaigh roimhe seo ar ais. Ardaithe:exc: InvalidPage mura bhfuil an leathanach roimhe seo ann.

Page.start_index()Link to this definition

Filleann sé innéacs 1-bhunaithe an chéad réad ar an leathanach, i gcoibhneas leis na rudaí go léir i liosta an paginéora. Mar shampla, nuair a bheidh liosta de 5 rud á ndéanamh leathanaigh le 2 rud in aghaidh an leathanaigh, chuirfeadh an dara leathanach's:meth: ~page.start_index ar ais 3.

Page.end_index()Link to this definition

Filleann sé an t-innéacs 1-bhunaithe den réad deireanach ar an leathanach, i gcoibhneas leis na rudaí go léir i liosta an leathanaigh. Mar shampla, nuair a chuirtear liosta de 5 rud le 2 rud in aghaidh an leathanaigh á leathanaigh á leathanaigh, chuirfeadh an dara leathanach's:meth: ~page.end_index ar ais 4.

tréitheLink to this heading

Page.object_listLink to this definition

An liosta na rudaí ar an leathanach seo.

Page.numberLink to this definition

An uimhir leathanaigh 1-bhunaithe don leathanach seo.

Page.paginatorLink to this definition

An réad comhcheangail:class: Paginator.

AsyncPage classLink to this heading

class AsyncPage(object_list, number, paginator)Link to this definition

Asynchronous version of Page.

AsyncPage has the same attributes and signatures as Page, as well as asynchronous versions of all the same methods, using an a prefix - for example, use await async_page.ahas_next() rather than page.has_next().

AsyncPage has the following additional method:

aget_object_list()Link to this definition

Returns AsyncPage.object_list as a list. This method must be awaited before AsyncPage can be treated as a sequence of AsyncPage.object_list.

EisceachtaíLink to this heading

exception InvalidPageLink to this definition

Aicme bonn le haghaidh eisceachtaí a ardaítear nuair a chuirtear uimhir leathanaigh neamhbhailí ar phaginator.

Ardaíonn an modh: Meth: Paginator.page eisceacht mura bhfuil an leathanach iarrtha neamhbhailí (ie nach sláimhir) nó nach bhfuil aon rudaí ann. Go ginearálta, is leor an eisceacht Invalidpage a ghabháil, ach más mian leat níos mó gráinneachta, is féidir leat ceachtar de na heisceachtaí seo a leanas a ghabháil:

exception PageNotAnIntegerLink to this definition

Ardaítear nuai:meth: ~Paginator.page tugtar luach nach sláimhir é.

exception EmptyPageLink to this definition

Ardaítear nuai:meth: ~Paginator.page tugtar luach bailí ach níl aon rud ann ar an leathanach sin.

Is fo-aicmí iad an dá eisceacht de:exc: InvalidPage, ionas gur féidir leat iad a láimhseáil le ach amháin InvalidPage.