# Django 6.0.7 documentation

# Redigering av mixins

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

- `django.views.generic.edit.FormMixin`

- `django.views.generic.edit.ModelFormMixin`

- `django.views.generic.edit.ProcessFormView`

- `django.views.generic.edit.DeletionMixin`

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

  - `django.views.generic.base.ContextMixin`

  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

  - `django.views.generic.edit.FormMixin`

  - `django.views.generic.detail.SingleObjectMixin`

  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.

    `success_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

  - `django.views.generic.base.View`

  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.

    `success_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.