Inbyggt API för klassbaserade vyerLink to this heading

API-referens för klassbaserade vyer. För introduktionsmaterial, se Klassbaserade åsikter ämnesguide.

SpecifikationLink to this heading

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. self.foo = 3 är en trådsäker operation).

A class-based view is deployed into a URL pattern using the as_view() classmethod:

Code
urlpatterns = [
    path("view/", MyView.as_view(size=42)),
]

Arguments passed into as_view() will be assigned onto the instance that is used to service a request. Using the previous example, this means that every request on MyView is able to use self.size. Arguments must correspond to attributes that already exist on the class (return True on a hasattr check).

Bas vs generiska vyerLink to this heading

Basklassbaserade vyer kan betraktas som *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.

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.

De flesta generiska vyer kräver nyckeln queryset, som är en QuerySet-instans; se Göra förfrågningar för mer information om QuerySet-objekt.