---
title: "Paginator"
version: 5.2
locale: ga
source: https://docs.djangoproject.com/ga/5.2/ref/paginator/
canonical: https://djangodocs.dev/ga/5.2/ref/paginator/
---
# Paginator

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 `Paginator`

#### `class Paginator(object_list, per_page, orphans=0, allow_empty_first_page=True, error_messages=None)`

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

#### `Paginator.object_list`

Riachtanach. Liosta, tuple, `QuerySet`, nó réad eile atá inslithe le modh ```count () ``nó ``__len__ ()```. Le haghaidh leathanaigh chomhsheasmhach, ba cheart `QuerySet`s 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.

> **Saincheisteanna feidhmíochta ag leathanaigh mhóra QuerySet**
>
> Má tá “QuerySet” á úsáid agat le líon an-mhór míreanna, d'fhéadfadh go mbeadh uimhreacha ard leathanaigh a iarraidh mall ar roinnt bunachair sonraí, toisc go gcaithfidh an cheist LIMIT\` /OFFSET\` a chomhaireamh líon na dtaifid `OFFSET` a thógann níos faide de réir mar a théann uimhir an leathanaigh níos airde.

#### `Paginator.per_page`

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.orphans`

Roghnach. Úsáid é seo nuair nach dteastaíonn uait leathanach deireanach a bheith agat le mórán earraí. Más rud é go mbeadh roinnt míreanna níos lú ná nó cothrom le orphans\` sa leathanach deireanach, cuirfear na míreanna sin leis an leathanach roimhe seo (arb é an leathanach deireanach) in ionad na míreanna a fhágáil ar leathanach leo féin. Mar shampla, le 23 mír, `per_page=10`, agus `orphans=3`, beidh dhá leathanach ann; an chéad leathanach le 10 mír agus an dara leathanach (agus deireanach) le 13 mír. Tá 'orphans' réamhshocraithe go nialas, rud a chiallaíonn nach ndéantar leathanaigh a chomhcheangal riamh agus d'fhéadfadh mír amháin a bheith ag an leathanach deireanach.

#### `Paginator.allow_empty_first_page`

Roghnach. Cibé an gceadaítear don chéad leathanach a bheith folamh nó nach bhfuil. Má tá `False` agus `object_list` folamh, ansin ardófar earráid `EmptyPage`.

#### `Paginator.error_messages`

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:

```pycon
>>> 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:

```pycon
>>> 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
```

### Modhanna

#### `Paginator.get_page(number)`

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 tá an `object_list``` folamh.

#### `Paginator.page(number)`

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, * (Keyword-only parameters separator (PEP 3102)), on_each_side=3, on_ends=2)`

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éithe

#### `Paginator.ELLIPSIS`

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.count`

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

> **Note**
>
> Agus líon na rudaí atá i object\_list\` á chinneadh, déanfaidh Paginator\` iarracht ar ```object_list.count () ``a ghlaoch ar dtús. Mura bhfuil modh ``count () ``ag `object_list```, ansin tiocfaidh `Paginator` ar ais ar `len (object_list)` a úsáid. Ligeann sé seo do rudaí, mar shampla QuerySet\`, modh count () níos éifeachtaí a úsáid nuair atá ar fáil.

#### `Paginator.num_pages`

Líon iomlán na leathanaigh.

#### `Paginator.page_range`

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

## Aicme `Leathanach`

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)`

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

### Modhanna

#### `Page.has_next()`

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

#### `Page.has_previous()`

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

#### `Page.has_other_pages()`

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

#### `Page.next_page_number()`

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

#### `Page.previous_page_number()`

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

#### `Page.start_index()`

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()`

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éithe

#### `Page.object_list`

An liosta na rudaí ar an leathanach seo.

#### `Page.number`

An uimhir leathanaigh 1-bhunaithe don leathanach seo.

#### `Page.paginator`

An réad comhcheangail:class: Paginator.

## Eisceachtaí

#### `exception InvalidPage`

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 PageNotAnInteger`

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

#### `exception EmptyPage`

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`.
