{"title":"Inbyggt API för klassbaserade vyer","version":"6.0","locale":"sv","docname":"ref/class-based-views/index","url":"/sv/6.0/ref/class-based-views/","canonical":"https://djangodocs.dev/sv/6.0/ref/class-based-views/","summary":"API-referens för klassbaserade vyer. För introduktionsmaterial, se Klassbaserade åsikter ämnesguide. Utsikt över basen View TemplateView RedirectView Generiska…","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.0/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.0/ref/class-based-views/base/\">Utsikt över basen</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/base/#view\"><code class=\"docutils literal notranslate\"><span class=\"pre\">View</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/base/#templateview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/base/#redirectview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">RedirectView</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/generic-display/\">Generiska displayvyer</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/generic-display/#detailview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DetailView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/generic-display/#listview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">ListView</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/generic-editing/\">Generiska redigeringsvyer</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/generic-editing/#formview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">FormView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/generic-editing/#createview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">CreateView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/generic-editing/#updateview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">UpdateView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/generic-editing/#deleteview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DeleteView</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/generic-date-based/\">Generisk datumvisning</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/generic-date-based/#archiveindexview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">ArchiveIndexView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/generic-date-based/#yeararchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">ÅrArkivView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/generic-date-based/#montharchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">MonthArchiveView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/generic-date-based/#weekarchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">WeekArchiveView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/generic-date-based/#dayarchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DayArchiveView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/generic-date-based/#todayarchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">TodayArchiveView</span></code></a></li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/generic-date-based/#datedetailview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DateDetailView</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins/\">Klassbaserade vy-mixins</a><ul>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-simple/\">Enkla mixins</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-simple/#contextmixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">KontextMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-simple/#templateresponsemixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateResponseMixin</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/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.0/ref/class-based-views/mixins-single-object/#singleobjectmixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">SingleObjectMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-single-object/#singleobjecttemplateresponsemixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">SingleObjectTemplateResponseMixin</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/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.0/ref/class-based-views/mixins-multiple-object/#multipleobjectmixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">MultipleObjectMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-multiple-object/#multipleobjecttemplateresponsemixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">MultipleObjectTemplateResponseMixin</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/\">Redigering av mixins</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#formmixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">FormMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#modelformmixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">ModelFormMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#processformview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">ProcessFormView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-editing/#deletionmixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DeletionMixin</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-date-based/\">Datumbaserade mixins</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-date-based/#yearmixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">ÅrMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-date-based/#monthmixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">MånadMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-date-based/#daymixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DayMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-date-based/#weekmixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">WeekMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-date-based/#datemixin\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DatumMixin</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/mixins-date-based/#basedatelistview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">BaseDateListView</span></code></a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li class=\"toctree-l1\"><a class=\"reference internal\" href=\"/sv/6.0/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.0/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.0/ref/class-based-views/flattened-index/#view\"><code class=\"docutils literal notranslate\"><span class=\"pre\">View</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/flattened-index/#templateview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">TemplateView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/flattened-index/#redirectview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">RedirectView</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/flattened-index/#detail-views\">Detaljerade vyer</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/flattened-index/#detailview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DetailView</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/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.0/ref/class-based-views/flattened-index/#listview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">ListView</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/flattened-index/#editing-views\">Redigera vyer</a><ul>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/flattened-index/#formview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">FormView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/flattened-index/#createview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">CreateView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/flattened-index/#updateview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">UpdateView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/flattened-index/#deleteview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DeleteView</span></code></a></li>\n</ul>\n</li>\n<li class=\"toctree-l2\"><a class=\"reference internal\" href=\"/sv/6.0/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.0/ref/class-based-views/flattened-index/#archiveindexview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">ArchiveIndexView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/flattened-index/#yeararchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">ÅrArkivView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/flattened-index/#montharchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">MonthArchiveView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/flattened-index/#weekarchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">WeekArchiveView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/flattened-index/#dayarchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DayArchiveView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/flattened-index/#todayarchiveview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">TodayArchiveView</span></code></a></li>\n<li class=\"toctree-l3\"><a class=\"reference internal\" href=\"/sv/6.0/ref/class-based-views/flattened-index/#datedetailview\"><code class=\"docutils literal notranslate\"><span class=\"pre\">DateDetailView</span></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\"><span class=\"pre\">self.foo</span> <span class=\"pre\">=</span> <span class=\"pre\">3</span></code> är en trådsäker operation).</p>\n<p>A class-based view is deployed into a URL pattern using the\n<a class=\"reference internal\" href=\"/sv/6.0/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\"><span class=\"pre\">as_view()</span></code></a> classmethod:</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><span class=\"n\">urlpatterns</span> <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"n\">path</span><span class=\"p\">(</span><span class=\"s2\">&quot;view/&quot;</span><span class=\"p\">,</span> <span class=\"n\">MyView</span><span class=\"o\">.</span><span class=\"n\">as_view</span><span class=\"p\">(</span><span class=\"n\">size</span><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\">\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>Arguments passed into <a class=\"reference internal\" href=\"/sv/6.0/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\"><span class=\"pre\">as_view()</span></code></a> will\nbe assigned onto the instance that is used to service a request. Using the\nprevious example, this means that every request on <code class=\"docutils literal notranslate\"><span class=\"pre\">MyView</span></code> is able to use\n<code class=\"docutils literal notranslate\"><span class=\"pre\">self.size</span></code>. Arguments must correspond to attributes that already exist on\nthe class (return <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> on a <code class=\"docutils literal notranslate\"><span class=\"pre\">hasattr</span></code> check).</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\"><span class=\"pre\">queryset</span></code>, som är en <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></code>-instans; se <a class=\"reference internal\" href=\"/sv/6.0/topics/db/queries/\"><span class=\"doc\">Göra förfrågningar</span></a> för mer information om <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet</span></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.0/ref/"}],"prev":{"docname":"ref/checks","title":"Ramverk för systemkontroll","url":"/sv/6.0/ref/checks/"},"next":{"docname":"ref/class-based-views/base","title":"Utsikt över basen","url":"/sv/6.0/ref/class-based-views/base/"},"formats":{"html":"/sv/6.0/ref/class-based-views/","markdown":"/sv/6.0/ref/class-based-views.md","json":"/sv/6.0/ref/class-based-views.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/ref/class-based-views/index.txt","official":"https://docs.djangoproject.com/sv/6.0/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"]}