{"title":"Inbyggt API för klassbaserade vyer","version":"6.1","locale":"sv","docname":"ref/class-based-views/index","url":"/sv/6.1/ref/class-based-views/","canonical":"https://djangodocs.dev/sv/6.1/ref/class-based-views/","summary":"API-referens för klassbaserade vyer. För introduktionsmaterial, se Klassbaserade åsikter ämnesguide.","html":"<h1>Inbyggt API för klassbaserade vyer<a class=\"heading-anchor\" href=\"#built-in-class-based-views-api\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>API-referens för klassbaserade vyer. För introduktionsmaterial, se <a class=\"reference internal\" href=\"/sv/6.1/topics/class-based-views/\"><span class=\"doc\">Klassbaserade åsikter</span></a> ämnesguide.</p>\n<div class=\"toctree-wrapper compound\">\n<ul>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/base/\">Utsikt över basen</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/base/#view\"><code class=\"docutils literal notranslate\">View</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/base/#templateview\"><code class=\"docutils literal notranslate\">TemplateView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/base/#redirectview\"><code class=\"docutils literal notranslate\">RedirectView</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/generic-display/\">Generiska displayvyer</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/generic-display/#detailview\"><code class=\"docutils literal notranslate\">DetailView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/generic-display/#listview\"><code class=\"docutils literal notranslate\">ListView</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/generic-editing/\">Generiska redigeringsvyer</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/generic-editing/#formview\"><code class=\"docutils literal notranslate\">FormView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/generic-editing/#createview\"><code class=\"docutils literal notranslate\">CreateView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/generic-editing/#updateview\"><code class=\"docutils literal notranslate\">UpdateView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/generic-editing/#deleteview\"><code class=\"docutils literal notranslate\">DeleteView</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/generic-date-based/\">Generisk datumvisning</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/generic-date-based/#archiveindexview\"><code class=\"docutils literal notranslate\">ArchiveIndexView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/generic-date-based/#yeararchiveview\"><code class=\"docutils literal notranslate\">ÅrArkivView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/generic-date-based/#montharchiveview\"><code class=\"docutils literal notranslate\">MonthArchiveView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/generic-date-based/#weekarchiveview\"><code class=\"docutils literal notranslate\">WeekArchiveView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/generic-date-based/#dayarchiveview\"><code class=\"docutils literal notranslate\">DayArchiveView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/generic-date-based/#todayarchiveview\"><code class=\"docutils literal notranslate\">TodayArchiveView</code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/generic-date-based/#datedetailview\"><code class=\"docutils literal notranslate\">DateDetailView</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins/\">Klassbaserade vy-mixins</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-simple/\">Enkla mixins</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-simple/#contextmixin\"><code class=\"docutils literal notranslate\">KontextMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-simple/#templateresponsemixin\"><code class=\"docutils literal notranslate\">TemplateResponseMixin</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-single-object/\">Mixins för enskilda objekt</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-single-object/#singleobjectmixin\"><code class=\"docutils literal notranslate\">SingleObjectMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-single-object/#singleobjecttemplateresponsemixin\"><code class=\"docutils literal notranslate\">SingleObjectTemplateResponseMixin</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-multiple-object/\">Flera mixins för objekt</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-multiple-object/#multipleobjectmixin\"><code class=\"docutils literal notranslate\">MultipleObjectMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-multiple-object/#multipleobjecttemplateresponsemixin\"><code class=\"docutils literal notranslate\">MultipleObjectTemplateResponseMixin</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-editing/\">Redigering av mixins</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-editing/#formmixin\"><code class=\"docutils literal notranslate\">FormMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-editing/#modelformmixin\"><code class=\"docutils literal notranslate\">ModelFormMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-editing/#processformview\"><code class=\"docutils literal notranslate\">ProcessFormView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-editing/#deletionmixin\"><code class=\"docutils literal notranslate\">DeletionMixin</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-date-based/\">Datumbaserade mixins</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-date-based/#yearmixin\"><code class=\"docutils literal notranslate\">ÅrMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-date-based/#monthmixin\"><code class=\"docutils literal notranslate\">MånadMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-date-based/#daymixin\"><code class=\"docutils literal notranslate\">DayMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-date-based/#weekmixin\"><code class=\"docutils literal notranslate\">WeekMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-date-based/#datemixin\"><code class=\"docutils literal notranslate\">DatumMixin</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/mixins-date-based/#basedatelistview\"><code class=\"docutils literal notranslate\">BaseDateListView</code></a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/\">Klassbaserade generiska vyer - tillplattat index</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#simple-generic-views\">Enkla generiska vyer</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#view\"><code class=\"docutils literal notranslate\">View</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#templateview\"><code class=\"docutils literal notranslate\">TemplateView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#redirectview\"><code class=\"docutils literal notranslate\">RedirectView</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#detail-views\">Detaljerade vyer</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#detailview\"><code class=\"docutils literal notranslate\">DetailView</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#list-views\">Visning av lista</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#listview\"><code class=\"docutils literal notranslate\">ListView</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#editing-views\">Redigera vyer</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#formview\"><code class=\"docutils literal notranslate\">FormView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#createview\"><code class=\"docutils literal notranslate\">CreateView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#updateview\"><code class=\"docutils literal notranslate\">UpdateView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#deleteview\"><code class=\"docutils literal notranslate\">DeleteView</code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#date-based-views\">Datumbaserade vyer</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#archiveindexview\"><code class=\"docutils literal notranslate\">ArchiveIndexView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#yeararchiveview\"><code class=\"docutils literal notranslate\">ÅrArkivView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#montharchiveview\"><code class=\"docutils literal notranslate\">MonthArchiveView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#weekarchiveview\"><code class=\"docutils literal notranslate\">WeekArchiveView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#dayarchiveview\"><code class=\"docutils literal notranslate\">DayArchiveView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#todayarchiveview\"><code class=\"docutils literal notranslate\">TodayArchiveView</code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/flattened-index/#datedetailview\"><code class=\"docutils literal notranslate\">DateDetailView</code></a></li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</div>\n<section id=\"specification\">\n<h2>Specifikation<a class=\"heading-anchor\" href=\"#specification\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Varje begäran som hanteras av en klassbaserad vy har ett oberoende tillstånd; därför är det säkert att lagra tillståndsvariabler på instansen (dvs. <code class=\"docutils literal notranslate\">self.foo = 3</code> är en trådsäker operation).</p>\n<p>En klassbaserad vy används i ett URL-mönster med klassmetoden <a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/base/#django.views.generic.base.View.as_view\" title=\"django.views.generic.base.View.as_view\"><code class=\"xref py py-meth docutils literal notranslate\">as_view()</code></a>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</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=\"Code code\"><code>urlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    path<span class=\"p\">(</span><span class=\"s2\">&quot;view/&quot;</span><span class=\"p\">,</span> MyView<span class=\"o\">.</span>as_view<span class=\"p\">(</span>size<span class=\"o\">=</span><span class=\"mi\">42</span><span class=\"p\">)),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<aside class=\"admonition-thread-safety-with-view-arguments admonition\" role=\"note\">\n<p class=\"admonition-title\">Trådsäkerhet med utsiktsargument</p>\n<p>Argument som skickas till en vy delas mellan alla instanser av en vy. Detta innebär att du inte bör använda en lista, en ordbok eller något annat föränderligt objekt som argument till en vy. Om du gör det och det delade objektet ändras, kan de åtgärder som vidtas av en användare som besöker din vy ha en effekt på efterföljande användare som besöker samma vy.</p>\n</aside>\n<p>Argument som skickas till <a class=\"reference internal\" href=\"/sv/6.1/ref/class-based-views/base/#django.views.generic.base.View.as_view\" title=\"django.views.generic.base.View.as_view\"><code class=\"xref py py-meth docutils literal notranslate\">as_view()</code></a> tilldelas instansen som används för att hantera en begäran. Med föregående exempel innebär detta att varje begäran till <code class=\"docutils literal notranslate\">MyView</code> kan använda <code class=\"docutils literal notranslate\">self.size</code>. Argument måste motsvara attribut som redan finns på klassen (returnera <code class=\"docutils literal notranslate\">True</code> vid en kontroll med <code class=\"docutils literal notranslate\">hasattr</code>).</p>\n</section>\n<section id=\"base-vs-generic-views\">\n<h2>Bas vs generiska vyer<a class=\"heading-anchor\" href=\"#base-vs-generic-views\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Basklassbaserade vyer kan betraktas som <a href=\"#id1\"><span class=\"problematic\" id=\"id2\">*</span></a>föräldra*vyer som kan användas själva eller ärvas från. De kanske inte ger alla de funktioner som krävs för projekt, och i så fall finns det mixins som utökar vad basvyer kan göra.</p>\n<p>Djangos generiska vyer är uppbyggda av dessa basvyer och utvecklades som en genväg för vanliga användningsmönster som att visa detaljerna för ett objekt. De tar vissa vanliga idiom och mönster som finns i vyutveckling och abstraherar dem så att du snabbt kan skriva vanliga vyer av data utan att behöva upprepa dig själv.</p>\n<p>De flesta generiska vyer kräver nyckeln <code class=\"docutils literal notranslate\">queryset</code>, som är en <code class=\"docutils literal notranslate\">QuerySet</code>-instans; se <a class=\"reference internal\" href=\"/sv/6.1/topics/db/queries/\"><span class=\"doc\">Göra förfrågningar</span></a> för mer information om <code class=\"docutils literal notranslate\">QuerySet</code>-objekt.</p>\n</section>","rootId":"built-in-class-based-views-api","toc":[{"title":"Specifikation","anchor":"specification","children":[]},{"title":"Bas vs generiska vyer","anchor":"base-vs-generic-views","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"API-referens","url":"/sv/6.1/ref/"}],"prev":{"docname":"ref/checks","title":"Ramverk för systemkontroll","url":"/sv/6.1/ref/checks/"},"next":{"docname":"ref/class-based-views/base","title":"Utsikt över basen","url":"/sv/6.1/ref/class-based-views/base/"},"formats":{"html":"/sv/6.1/ref/class-based-views/","markdown":"/sv/6.1/ref/class-based-views.md","json":"/sv/6.1/ref/class-based-views.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/ref/class-based-views/index.txt","official":"https://docs.djangoproject.com/sv/6.1/ref/class-based-views/","inVersions":["6.1","6.0","5.2"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}