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.
- 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
medget_form_kwargs()
. Omform_class
inte tillhandahålls kommerget_form_class()
att användas.
- get_form_kwargs()¶
Skapa de nyckelordsargument som krävs för att instansiera formuläret.
Argumentet
initial
sätts tillget_initial()
. Om begäran är enPOST
ellerPUT
, kommer begäran data (request.POST
ochrequest.FILES
) också att tillhandahållas.
- 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 attributenmodel
ochqueryset
, som beskriver den typ av objekt somModelForm
manipulerar.Om du anger både attributen
fields
ochform_class
, kommer ettImproperlyConfigured
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
ellerqueryset
.
- fields¶
En lista med namn på fält. Detta tolkas på samma sätt som attributet
Meta.fields
iModelForm
.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 ettImproperlyConfigured
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ändauccess_url="/polls/{slug}/"
för att omdirigera till en URL som består av fältetslug
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 ettModelForm
att instansieras med hjälp av den modell som är associerad medqueryset
, eller medmodel
, beroende på vilket attribut som anges.
- get_form_kwargs()¶
Lägg till den aktuella instansen (
self.object
) till standardget_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ändaget_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.
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ändauccess_url="/parent/{parent_id}/"
för att omdirigera till en URL som består av fältetparent_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.