{"title":"Paginator","version":"5.2","locale":"sv","docname":"ref/paginator","url":"/sv/5.2/ref/paginator/","canonical":"https://djangodocs.dev/sv/5.2/ref/paginator/","summary":"Django tillhandahåller några klasser som hjälper dig att hantera paginerad data - det vill säga data som är uppdelad på flera sidor, med ”Föregående/Nästa”-länkar.…","html":"<h1>Paginator<a class=\"heading-anchor\" href=\"#paginator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Django tillhandahåller några klasser som hjälper dig att hantera paginerad data - det vill säga data som är uppdelad på flera sidor, med ”Föregående/Nästa”-länkar. Dessa klasser finns i <a class=\"extlink-source reference external\" href=\"https://github.com/django/django/blob/stable/5.2.x/django/core/paginator.py\">django/core/paginator.py</a>.</p>\n<p>För exempel, se <a class=\"reference internal\" href=\"/sv/5.2/topics/pagination/\"><span class=\"doc\">Pagination topic guide</span></a>.</p>\n<section id=\"paginator-class\">\n<span id=\"module-django.core.paginator\"></span><h2>klassen <code class=\"docutils literal notranslate\"><span class=\"pre\">Paginator</span></code><a class=\"heading-anchor\" href=\"#paginator-class\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Paginator\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Paginator</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">object_list</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">per_page</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">orphans</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">0</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">allow_empty_first_page</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">True</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">error_messages</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.paginator.Paginator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En paginator fungerar som en sekvens av <a class=\"reference internal\" href=\"#django.core.paginator.Page\" title=\"django.core.paginator.Page\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Page</span></code></a> när du använder <code class=\"docutils literal notranslate\"><span class=\"pre\">len()</span></code> eller itererar den direkt.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Paginator.object_list\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Paginator.</span></span><span class=\"sig-name descname\"><span class=\"pre\">object_list</span></span><a class=\"heading-anchor\" href=\"#django.core.paginator.Paginator.object_list\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Krävs. En lista, tupel, <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code> eller annat objekt som kan skäras med en <code class=\"docutils literal notranslate\"><span class=\"pre\">count()</span></code> eller <code class=\"docutils literal notranslate\"><span class=\"pre\">__len__()</span></code> metod. För konsekvent paginering bör <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code> beställas, t.ex. med en <a class=\"reference internal\" href=\"/sv/5.2/ref/models/querysets/#django.db.models.query.QuerySet.order_by\" title=\"django.db.models.query.QuerySet.order_by\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">order_by()</span></code></a> klausul eller med en standard <a class=\"reference internal\" href=\"/sv/5.2/ref/models/options/#django.db.models.Options.ordering\" title=\"django.db.models.Options.ordering\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">ordering</span></code></a> på modellen.</p>\n<aside class=\"admonition-performance-issues-paginating-large-queryset-s admonition\">\n<p class=\"admonition-title\">Prestandaproblem vid paginering av stora <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code></p>\n<p>Om du använder en <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code> med ett mycket stort antal objekt kan det gå långsamt att begära höga sidnummer i vissa databaser, eftersom den resulterande <code class=\"docutils literal notranslate\"><span class=\"pre\">LIMIT</span></code>/<code class=\"docutils literal notranslate\"><span class=\"pre\">OFFSET</span></code>-frågan måste räkna antalet <code class=\"docutils literal notranslate\"><span class=\"pre\">OFFSET</span></code>-poster, vilket tar längre tid när sidnumret blir högre.</p>\n</aside>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Paginator.per_page\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Paginator.</span></span><span class=\"sig-name descname\"><span class=\"pre\">per_page</span></span><a class=\"heading-anchor\" href=\"#django.core.paginator.Paginator.per_page\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Obligatoriskt. Det maximala antalet objekt som ska inkluderas på en sida, exklusive föräldralösa barn (se det valfria argumentet <a class=\"reference internal\" href=\"#django.core.paginator.Paginator.orphans\" title=\"django.core.paginator.Paginator.orphans\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">orphans</span></code></a> nedan).</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Paginator.orphans\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Paginator.</span></span><span class=\"sig-name descname\"><span class=\"pre\">orphans</span></span><a class=\"heading-anchor\" href=\"#django.core.paginator.Paginator.orphans\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Valfritt. Använd detta när du inte vill ha en sista sida med mycket få objekt. Om den sista sidan normalt skulle ha ett antal objekt som är mindre än eller lika med <code class=\"docutils literal notranslate\"><span class=\"pre\">orphans</span></code>, läggs dessa objekt till på föregående sida (som blir den sista sidan) i stället för att objekten lämnas på en sida för sig själva. Om det t.ex. finns 23 objekt, <code class=\"docutils literal notranslate\"><span class=\"pre\">per_page=10</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">orphans=3</span></code>, kommer det att finnas två sidor: den första sidan med 10 objekt och den andra (och sista) sidan med 13 objekt. <code class=\"docutils literal notranslate\"><span class=\"pre\">orphans</span></code> är noll som standard, vilket innebär att sidorna aldrig kombineras och att den sista sidan kan ha ett objekt.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Paginator.allow_empty_first_page\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Paginator.</span></span><span class=\"sig-name descname\"><span class=\"pre\">allow_empty_first_page</span></span><a class=\"heading-anchor\" href=\"#django.core.paginator.Paginator.allow_empty_first_page\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Valfritt. Huruvida den första sidan får vara tom eller inte.  Om <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">object_list</span></code> är tom, så kommer ett <code class=\"docutils literal notranslate\"><span class=\"pre\">EmptyPage</span></code> fel att uppstå.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Paginator.error_messages\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Paginator.</span></span><span class=\"sig-name descname\"><span class=\"pre\">error_messages</span></span><a class=\"heading-anchor\" href=\"#django.core.paginator.Paginator.error_messages\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Med argumentet <code class=\"docutils literal notranslate\"><span class=\"pre\">error_messages</span></code> kan du åsidosätta de standardmeddelanden som paginatorn kommer att ge. Skicka in en ordbok med nycklar som matchar de felmeddelanden som du vill åsidosätta. Tillgängliga nycklar för felmeddelanden är: <code class=\"docutils literal notranslate\"><span class=\"pre\">invalid_page</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">min_page</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">no_results</span></code>.</p>\n<p>Här är till exempel standardfelmeddelandet:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.core.paginator</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">Paginator</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">paginator</span> <span class=\"o\">=</span> <span class=\"n\">Paginator</span><span class=\"p\">([</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">],</span> <span class=\"mi\">2</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">paginator</span><span class=\"o\">.</span><span class=\"n\">page</span><span class=\"p\">(</span><span class=\"mi\">5</span><span class=\"p\">)</span>\n<span class=\"gt\">Traceback (most recent call last):</span>\n<span class=\"w\">  </span><span class=\"c\">...</span>\n<span class=\"gr\">EmptyPage</span>: <span class=\"n\">That page contains no results</span>\n</code></pre></div>\n<p>Och här är ett anpassat felmeddelande:</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">paginator</span> <span class=\"o\">=</span> <span class=\"n\">Paginator</span><span class=\"p\">(</span>\n<span class=\"gp\">... </span>    <span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">2</span><span class=\"p\">,</span> <span class=\"mi\">3</span><span class=\"p\">],</span>\n<span class=\"gp\">... </span>    <span class=\"mi\">2</span><span class=\"p\">,</span>\n<span class=\"gp\">... </span>    <span class=\"n\">error_messages</span><span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s2\">&quot;no_results&quot;</span><span class=\"p\">:</span> <span class=\"s2\">&quot;Page does not exist&quot;</span><span class=\"p\">},</span>\n<span class=\"gp\">... </span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">paginator</span><span class=\"o\">.</span><span class=\"n\">page</span><span class=\"p\">(</span><span class=\"mi\">5</span><span class=\"p\">)</span>\n<span class=\"gt\">Traceback (most recent call last):</span>\n<span class=\"w\">  </span><span class=\"c\">...</span>\n<span class=\"gr\">EmptyPage</span>: <span class=\"n\">Page does not exist</span>\n</code></pre></div>\n</dd></dl>\n\n<section id=\"methods\">\n<h3>Metoder<a class=\"heading-anchor\" href=\"#methods\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Paginator.get_page\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Paginator.</span></span><span class=\"sig-name descname\"><span class=\"pre\">get_page</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">number</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.paginator.Paginator.get_page\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar ett <a class=\"reference internal\" href=\"#django.core.paginator.Page\" title=\"django.core.paginator.Page\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Page</span></code></a>-objekt med det angivna 1-baserade indexet och hanterar även sidnummer utanför intervallet och ogiltiga sidnummer.</p>\n<p>Om sidan inte är en siffra returneras den första sidan. Om sidnumret är negativt eller större än antalet sidor, returneras den sista sidan.</p>\n<p>Utlöser ett <a class=\"reference internal\" href=\"#django.core.paginator.EmptyPage\" title=\"django.core.paginator.EmptyPage\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">EmptyPage</span></code></a>-undantag endast om du anger <code class=\"docutils literal notranslate\"><span class=\"pre\">Paginator(...,</span> <span class=\"pre\">allow_empty_first_page=False)</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">object_list</span></code> är tom.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Paginator.page\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Paginator.</span></span><span class=\"sig-name descname\"><span class=\"pre\">page</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">number</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.paginator.Paginator.page\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar ett <a class=\"reference internal\" href=\"#django.core.paginator.Page\" title=\"django.core.paginator.Page\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Page</span></code></a>-objekt med det angivna 1-baserade indexet. Utlöser <a class=\"reference internal\" href=\"#django.core.paginator.PageNotAnInteger\" title=\"django.core.paginator.PageNotAnInteger\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">PageNotAnInteger</span></code></a> om <code class=\"docutils literal notranslate\"><span class=\"pre\">number</span></code> inte kan konverteras till ett heltal genom att anropa <code class=\"docutils literal notranslate\"><span class=\"pre\">int()</span></code>. Raises <a class=\"reference internal\" href=\"#django.core.paginator.EmptyPage\" title=\"django.core.paginator.EmptyPage\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">EmptyPage</span></code></a> om det angivna sidnumret inte existerar.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Paginator.get_elided_page_range\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Paginator.</span></span><span class=\"sig-name descname\"><span class=\"pre\">get_elided_page_range</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">number</span></span></em>, <em class=\"sig-param\"><span class=\"keyword-only-separator o\"><abbr title=\"Keyword-only parameters separator (PEP 3102)\"><span class=\"pre\">*</span></abbr></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">on_each_side</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">3</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">on_ends</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">2</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.paginator.Paginator.get_elided_page_range\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar en 1-baserad lista med sidnummer som liknar <a class=\"reference internal\" href=\"#django.core.paginator.Paginator.page_range\" title=\"django.core.paginator.Paginator.page_range\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Paginator.page_range</span></code></a>, men kan lägga till en ellips på endera eller båda sidorna av det aktuella sidnumret om <a class=\"reference internal\" href=\"#django.core.paginator.Paginator.num_pages\" title=\"django.core.paginator.Paginator.num_pages\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Paginator.num_pages</span></code></a> är stort.</p>\n<p>Antalet sidor som ska inkluderas på varje sida av det aktuella sidnumret bestäms av argumentet <code class=\"docutils literal notranslate\"><span class=\"pre\">on_each_side</span></code>, som har standardvärdet 3.</p>\n<p>Antalet sidor som ska inkluderas i början och slutet av sidintervallet bestäms av argumentet <code class=\"docutils literal notranslate\"><span class=\"pre\">on_ends</span></code>, som har standardvärdet 2.</p>\n<p>Med standardvärdena för <code class=\"docutils literal notranslate\"><span class=\"pre\">på_varje_sida</span></code> och <code class=\"docutils literal notranslate\"><span class=\"pre\">på_slut</span></code> blir till exempel sidintervallet <code class=\"docutils literal notranslate\"><span class=\"pre\">[1,</span> <span class=\"pre\">2,</span> <span class=\"pre\">'...',</span> <span class=\"pre\">7,</span> <span class=\"pre\">8,</span> <span class=\"pre\">9,</span> <span class=\"pre\">10,</span> <span class=\"pre\">11,</span> <span class=\"pre\">12,</span> <span class=\"pre\">13,</span> <span class=\"pre\">'...',</span> <span class=\"pre\">49,</span> <span class=\"pre\">50]</span></code> om den aktuella sidan är 10 och det finns 50 sidor. Detta resulterar i sidorna 7, 8 och 9 till vänster om och 11, 12 och 13 till höger om den aktuella sidan samt sidorna 1 och 2 i början och 49 och 50 i slutet.</p>\n<p>Utlöser <a class=\"reference internal\" href=\"#django.core.paginator.InvalidPage\" title=\"django.core.paginator.InvalidPage\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">InvalidPage</span></code></a> om det angivna sidnumret inte existerar.</p>\n</dd></dl>\n\n</section>\n<section id=\"attributes\">\n<h3>Attribut<a class=\"heading-anchor\" href=\"#attributes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Paginator.ELLIPSIS\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Paginator.</span></span><span class=\"sig-name descname\"><span class=\"pre\">ELLIPSIS</span></span><a class=\"heading-anchor\" href=\"#django.core.paginator.Paginator.ELLIPSIS\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En översättningsbar sträng som används som ersättning för sidnummer i sidintervallet som returneras av <a class=\"reference internal\" href=\"#django.core.paginator.Paginator.get_elided_page_range\" title=\"django.core.paginator.Paginator.get_elided_page_range\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_elided_page_range()</span></code></a>. Standard är <code class=\"docutils literal notranslate\"><span class=\"pre\">...'</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Paginator.count\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Paginator.</span></span><span class=\"sig-name descname\"><span class=\"pre\">count</span></span><a class=\"heading-anchor\" href=\"#django.core.paginator.Paginator.count\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Det totala antalet objekt på alla sidor.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Observera</p>\n<p>När <code class=\"docutils literal notranslate\"><span class=\"pre\">Paginator</span></code> ska bestämma antalet objekt som finns i <code class=\"docutils literal notranslate\"><span class=\"pre\">object_list</span></code>, kommer <code class=\"docutils literal notranslate\"><span class=\"pre\">Paginator</span></code> först att försöka anropa <code class=\"docutils literal notranslate\"><span class=\"pre\">object_list.count()</span></code>. Om <code class=\"docutils literal notranslate\"><span class=\"pre\">object_list</span></code> inte har någon <code class=\"docutils literal notranslate\"><span class=\"pre\">count()</span></code> metod, så kommer <code class=\"docutils literal notranslate\"><span class=\"pre\">Paginator</span></code> att falla tillbaka till att använda <code class=\"docutils literal notranslate\"><span class=\"pre\">len(object_list)</span></code>. Detta gör att objekt, som <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code>, kan använda en mer effektiv <code class=\"docutils literal notranslate\"><span class=\"pre\">count()</span></code> metod när den finns tillgänglig.</p>\n</aside>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Paginator.num_pages\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Paginator.</span></span><span class=\"sig-name descname\"><span class=\"pre\">num_pages</span></span><a class=\"heading-anchor\" href=\"#django.core.paginator.Paginator.num_pages\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Det totala antalet sidor.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Paginator.page_range\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Paginator.</span></span><span class=\"sig-name descname\"><span class=\"pre\">page_range</span></span><a class=\"heading-anchor\" href=\"#django.core.paginator.Paginator.page_range\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En 1-baserad intervalliterator för sidnummer, som t.ex. ger <code class=\"docutils literal notranslate\"><span class=\"pre\">[1,</span> <span class=\"pre\">2,</span> <span class=\"pre\">3,</span> <span class=\"pre\">4]</span></code>.</p>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"page-class\">\n<h2>klass <code class=\"docutils literal notranslate\"><span class=\"pre\">Page</span></code><a class=\"heading-anchor\" href=\"#page-class\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Du konstruerar vanligtvis inte <code class=\"docutils literal notranslate\"><span class=\"pre\">Page</span></code>-objekt för hand - du får dem genom att iterera <a class=\"reference internal\" href=\"#django.core.paginator.Paginator\" title=\"django.core.paginator.Paginator\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Paginator</span></code></a>, eller genom att använda <a class=\"reference internal\" href=\"#django.core.paginator.Paginator.page\" title=\"django.core.paginator.Paginator.page\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">Paginator.page()</span></code></a>.</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Page\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Page</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">object_list</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">number</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">paginator</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.paginator.Page\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En sida fungerar som en sekvens av <a class=\"reference internal\" href=\"#django.core.paginator.Page.object_list\" title=\"django.core.paginator.Page.object_list\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">Page.object_list</span></code></a> när man använder <code class=\"docutils literal notranslate\"><span class=\"pre\">len()</span></code> eller itererar den direkt.</p>\n</dd></dl>\n\n<section id=\"id1\">\n<h3>Metoder<a class=\"heading-anchor\" href=\"#id1\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Page.has_next\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Page.</span></span><span class=\"sig-name descname\"><span class=\"pre\">has_next</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.paginator.Page.has_next\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> om det finns en nästa sida.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Page.has_previous\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Page.</span></span><span class=\"sig-name descname\"><span class=\"pre\">has_previous</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.paginator.Page.has_previous\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> om det finns en föregående sida.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Page.has_other_pages\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Page.</span></span><span class=\"sig-name descname\"><span class=\"pre\">has_other_pages</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.paginator.Page.has_other_pages\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> om det finns en nästa <strong>eller</strong> föregående sida.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Page.next_page_number\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Page.</span></span><span class=\"sig-name descname\"><span class=\"pre\">next_page_number</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.paginator.Page.next_page_number\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar nästa sidnummer. Utlöser <a class=\"reference internal\" href=\"#django.core.paginator.InvalidPage\" title=\"django.core.paginator.InvalidPage\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">InvalidPage</span></code></a> om nästa sida inte finns.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Page.previous_page_number\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Page.</span></span><span class=\"sig-name descname\"><span class=\"pre\">previous_page_number</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.paginator.Page.previous_page_number\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar föregående sidnummer. Utlöser <a class=\"reference internal\" href=\"#django.core.paginator.InvalidPage\" title=\"django.core.paginator.InvalidPage\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">InvalidPage</span></code></a> om föregående sida inte finns.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Page.start_index\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Page.</span></span><span class=\"sig-name descname\"><span class=\"pre\">start_index</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.paginator.Page.start_index\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar det 1-baserade indexet för det första objektet på sidan, i förhållande till alla objekt i paginatorns lista. Till exempel:, vid paginering av en lista med 5 objekt med 2 objekt per sida, skulle den andra sidans <a class=\"reference internal\" href=\"#django.core.paginator.Page.start_index\" title=\"django.core.paginator.Page.start_index\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">start_index()</span></code></a> returnera <code class=\"docutils literal notranslate\"><span class=\"pre\">3</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Page.end_index\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Page.</span></span><span class=\"sig-name descname\"><span class=\"pre\">end_index</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.core.paginator.Page.end_index\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Returnerar det 1-baserade indexet för det sista objektet på sidan, i förhållande till alla objekt i paginatorns lista. Till exempel:, vid paginering av en lista med 5 objekt med 2 objekt per sida, skulle den andra sidans <a class=\"reference internal\" href=\"#django.core.paginator.Page.end_index\" title=\"django.core.paginator.Page.end_index\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">end_index()</span></code></a> returnera <code class=\"docutils literal notranslate\"><span class=\"pre\">4</span></code>.</p>\n</dd></dl>\n\n</section>\n<section id=\"id2\">\n<h3>Attribut<a class=\"heading-anchor\" href=\"#id2\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Page.object_list\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Page.</span></span><span class=\"sig-name descname\"><span class=\"pre\">object_list</span></span><a class=\"heading-anchor\" href=\"#django.core.paginator.Page.object_list\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Listan över objekt på den här sidan.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Page.number\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Page.</span></span><span class=\"sig-name descname\"><span class=\"pre\">number</span></span><a class=\"heading-anchor\" href=\"#django.core.paginator.Page.number\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Det 1-baserade sidnumret för den här sidan.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.Page.paginator\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">Page.</span></span><span class=\"sig-name descname\"><span class=\"pre\">paginator</span></span><a class=\"heading-anchor\" href=\"#django.core.paginator.Page.paginator\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Det associerade <a class=\"reference internal\" href=\"#django.core.paginator.Paginator\" title=\"django.core.paginator.Paginator\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Paginator</span></code></a>-objektet.</p>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"exceptions\">\n<h2>Undantag<a class=\"heading-anchor\" href=\"#exceptions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.InvalidPage\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">InvalidPage</span></span><a class=\"heading-anchor\" href=\"#django.core.paginator.InvalidPage\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>En basklass för undantag som uppstår när en paginator får ett ogiltigt sidnummer.</p>\n</dd></dl>\n\n<p>Metoden <a class=\"reference internal\" href=\"#django.core.paginator.Paginator.page\" title=\"django.core.paginator.Paginator.page\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">Paginator.page()</span></code></a> ger upphov till ett undantag om den begärda sidan är ogiltig (dvs. inte ett heltal) eller inte innehåller några objekt. I allmänhet räcker det med att fånga undantaget <code class=\"docutils literal notranslate\"><span class=\"pre\">InvalidPage</span></code>, men om du vill ha mer detaljerad information kan du fånga något av följande undantag:</p>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.PageNotAnInteger\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">PageNotAnInteger</span></span><a class=\"heading-anchor\" href=\"#django.core.paginator.PageNotAnInteger\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Uppstår när <a class=\"reference internal\" href=\"#django.core.paginator.Paginator.page\" title=\"django.core.paginator.Paginator.page\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">page()</span></code></a> ges ett värde som inte är ett heltal.</p>\n</dd></dl>\n\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.core.paginator.EmptyPage\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">EmptyPage</span></span><a class=\"heading-anchor\" href=\"#django.core.paginator.EmptyPage\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Utlöses när <a class=\"reference internal\" href=\"#django.core.paginator.Paginator.page\" title=\"django.core.paginator.Paginator.page\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">page()</span></code></a> ges ett giltigt värde men inga objekt finns på den sidan.</p>\n</dd></dl>\n\n<p>Båda undantagen är subklasser av <a class=\"reference internal\" href=\"#django.core.paginator.InvalidPage\" title=\"django.core.paginator.InvalidPage\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">InvalidPage</span></code></a>, så du kan hantera dem båda med <code class=\"docutils literal notranslate\"><span class=\"pre\">except</span> <span class=\"pre\">InvalidPage</span></code>.</p>\n</section>","rootId":"paginator","toc":[{"title":"klassen Paginator","anchor":"paginator-class","children":[{"title":"Metoder","anchor":"methods","children":[]},{"title":"Attribut","anchor":"attributes","children":[]}]},{"title":"klass Page","anchor":"page-class","children":[{"title":"Metoder","anchor":"id1","children":[]},{"title":"Attribut","anchor":"id2","children":[]}]},{"title":"Undantag","anchor":"exceptions","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"API-referens","url":"/sv/5.2/ref/"}],"prev":{"docname":"ref/models/database-functions","title":"Databasfunktioner","url":"/sv/5.2/ref/models/database-functions/"},"next":{"docname":"ref/request-response","title":"Objekt för begäran och svar","url":"/sv/5.2/ref/request-response/"},"formats":{"html":"/sv/5.2/ref/paginator/","markdown":"/sv/5.2/ref/paginator.md","json":"/sv/5.2/ref/paginator.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/ref/paginator.txt","official":"https://docs.djangoproject.com/sv/5.2/ref/paginator/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}