Redigering av mixins

Följande mixins används för att konstruera Djangos redigeringsvyer:

Observera

Exempel på hur dessa kombineras till redigeringsvyer finns i dokumentationen på Generiska redigeringsvyer.

FormMixin

class django.views.generic.edit.FormMixin

En mixin-klass som tillhandahåller funktioner för att skapa och visa formulär.

Mixins

Metoder och egenskaper

initial

En ordbok som innehåller initialdata för formuläret.

form_class

Den formulärklass som ska instansieras.

success_url

Den URL som ska omdirigeras till när formuläret har behandlats.

prefix

prefix för det genererade formuläret.

get_initial()

Hämtar initiala data för formuläret. Som standard returneras en kopia av initial.

get_form_class()

Hämtar formulärklassen som ska instansieras. Som standard form_class.

get_form(form_class=None)

Instansiera en instans av form_class med get_form_kwargs(). Om form_class inte tillhandahålls kommer get_form_class() att användas.

get_form_kwargs()

Skapa de nyckelordsargument som krävs för att instansiera formuläret.

Argumentet initial sätts till get_initial(). Om begäran är en POST eller PUT, kommer begäran data (request.POST och request.FILES) också att tillhandahållas.

get_prefix()

Bestäm prefix för det genererade formuläret. Returnerar prefix som standard.

get_success_url()

Bestäm URL:en som ska omdirigeras till när formuläret har validerats framgångsrikt. Returnerar success_url som standard.

form_valid(form)

Omdirigeringar till get_success_url().

form_invalid(form)

Renderar ett svar med det ogiltiga formuläret som kontext.

get_context_data(**kwargs)

Anropar get_form() och lägger till resultatet i kontextdata med namnet ’form’.

ModelFormMixin

class django.views.generic.edit.ModelFormMixin

En formulärmixin som ger möjlighet att arbeta med en ModelForm, snarare än ett fristående formulär.

Eftersom detta är en underklass av SingleObjectMixin, har instanser av denna mixin tillgång till attributen model och queryset, som beskriver den typ av objekt som ModelForm manipulerar.

Om du anger både attributen fields och form_class, kommer ett ImproperlyConfigured undantag att uppstå.

Mixins

Metoder och egenskaper

model

En modellklass. Kan anges explicit, annars kommer den att bestämmas genom att undersöka self.object eller queryset.

fields

En lista med namn på fält. Detta tolkas på samma sätt som attributet Meta.fields i ModelForm.

Detta är ett obligatoriskt attribut om du genererar formulärklassen automatiskt (t.ex. med hjälp av model). Om du utelämnar detta attribut kommer det att resultera i ett ImproperlyConfigured undantag.

success_url

Den URL som ska omdirigeras till när formuläret har behandlats.

`uccess_url kan innehålla formatering av ordbokssträngar, som kommer att interpoleras mot objektets fältattribut. Du kan t.ex. använda uccess_url="/polls/{slug}/" för att omdirigera till en URL som består av fältet slug i en modell.

get_form_class()

Hämtar formulärklassen som ska instansieras. Om form_class anges kommer den klassen att användas. Annars kommer ett ModelForm att instansieras med hjälp av den modell som är associerad med queryset, eller med model, beroende på vilket attribut som anges.

get_form_kwargs()

Lägg till den aktuella instansen (self.object) till standard get_form_kwargs().

get_success_url()

Bestämmer URL:en som ska omdirigeras till när formuläret har validerats framgångsrikt. Returnerar django.views.generic.edit.ModelFormMixin.success_url om den tillhandahålls; annars försöker man använda get_absolute_url() för objektet.

form_valid(form)

Sparar formulärinstansen, anger det aktuella objektet för vyn och omdirigerar till get_success_url().

form_invalid(form)

Renderar ett svar med det ogiltiga formuläret som kontext.

ProcessFormView

class django.views.generic.edit.ProcessFormView

En mixin som tillhandahåller grundläggande HTTP GET- och POST-arbetsflöde.

Observera

Denna heter ’ProcessFormView’ och ärver direkt från django.views.generic.base.View, men bryts om den används oberoende, så det är mer av en mixin.

Förlänger

Metoder och egenskaper

get(request, *args, **kwargs)

Renderar ett svar med hjälp av ett sammanhang som skapats med get_context_data().

post(request, *args, **kwargs)

Konstruerar ett formulär, kontrollerar att formuläret är giltigt och hanterar det på lämpligt sätt.

put(*args, **kwargs)

Åtgärden PUT hanteras också och skickar alla parametrar vidare till post().

DeletionMixin

class django.views.generic.edit.DeletionMixin

Aktiverar hantering av HTTP-åtgärden DELETE.

Metoder och egenskaper

success_url

Den webbadress som ska omdirigeras till när det nominerade objektet har tagits bort.

`uccess_url kan innehålla formatering av ordbokssträngar, som kommer att interpoleras mot objektets fältattribut. Du kan t.ex. använda uccess_url="/parent/{parent_id}/" för att omdirigera till en URL som består av fältet parent_id i en modell.

delete(request, *args, **kwargs)

Hämtar målobjektet och anropar dess delete()-metod och omdirigerar sedan till framgångs-URL:en.

get_success_url()

Returnerar webbadressen som ska omdirigeras till när det nominerade objektet har raderats framgångsrikt. Returnerar success_url som standard.