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_classmedget_form_kwargs(). Omform_classinte tillhandahålls kommerget_form_class()att användas.
- get_form_kwargs()¶
Skapa de nyckelordsargument som krävs för att instansiera formuläret.
Argumentet
initialsätts tillget_initial(). Om begäran är enPOSTellerPUT, kommer begäran data (request.POSTochrequest.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_urlsom 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 attributenmodelochqueryset, som beskriver den typ av objekt somModelFormmanipulerar.Om du anger både attributen
fieldsochform_class, kommer ettImproperlyConfiguredundantag att uppstå.Mixins
Metoder och egenskaper
- model¶
En modellklass. Kan anges explicit, annars kommer den att bestämmas genom att undersöka
self.objectellerqueryset.
- fields¶
En lista med namn på fält. Detta tolkas på samma sätt som attributet
Meta.fieldsiModelForm.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 ettImproperlyConfiguredundantag.
- success_url¶
Den URL som ska omdirigeras till när formuläret har behandlats.
success_urlkan 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ältetslugi en modell.
- get_form_class()¶
Hämtar formulärklassen som ska instansieras. Om
form_classanges kommer den klassen att användas. Annars kommer ettModelFormatt 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_urlom 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.
success_urlkan 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_idi 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_urlsom standard.