---
title: "Paginator"
version: 6.0
locale: ga
source: https://docs.djangoproject.com/ga/6.0/ref/paginator/
canonical: https://djangodocs.dev/ga/6.0/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`

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`](#django.core.paginator.Paginator.per_page) value.

> **Deprecated since Django 6.0**
>
> Deprecated since version 6.0: Support for the `orphans` argument being larger than or equal to the
> `per_page` argument is deprecated.

#### `Paginator.allow_empty_first_page`

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

## `AsyncPaginator` class

> **New in Django 6.0**

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

Asynchronous version of [`Paginator`](#django.core.paginator.Paginator).

`AsyncPaginator` has the same attributes and signatures as
[`Paginator`](#django.core.paginator.Paginator), with the following exceptions:

- The attribute [`Paginator.count`](#django.core.paginator.Paginator.count) is supported as an asynchronous
  method `AsyncPaginator.acount()`.
- The attribute [`Paginator.num_pages`](#django.core.paginator.Paginator.num_pages) is supported as an
  asynchronous method `AsyncPaginator.anum_pages()`.
- The attribute [`Paginator.page_range`](#django.core.paginator.Paginator.page_range) is supported as an
  asynchronous method `AsyncPaginator.apage_range()`.

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

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

## `AsyncPage` class

> **New in Django 6.0**

#### `class AsyncPage(object_list, number, paginator)`

Asynchronous version of [`Page`](#django.core.paginator.Page).

`AsyncPage` has the same attributes and signatures as [`Page`](#django.core.paginator.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()`

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í

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