---
title: "Redigering av mixins"
version: 6.1
locale: sv
source: https://docs.djangoproject.com/sv/6.1/ref/class-based-views/mixins-editing/
canonical: https://djangodocs.dev/sv/6.1/ref/class-based-views/mixins-editing/
---
# Redigering av mixins

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

- [`django.views.generic.edit.FormMixin`](#django.views.generic.edit.FormMixin)
- [`django.views.generic.edit.ModelFormMixin`](#django.views.generic.edit.ModelFormMixin)
- [`django.views.generic.edit.ProcessFormView`](#django.views.generic.edit.ProcessFormView)
- [`django.views.generic.edit.DeletionMixin`](#django.views.generic.edit.DeletionMixin)

> **Note**
>
> Exempel på hur dessa kombineras till redigeringsvyer finns i dokumentationen på [Generiska redigeringsvyer](/sv/6.1/ref/class-based-views/generic-editing/).

## `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`](/sv/6.1/ref/class-based-views/mixins-simple/#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`](/sv/6.1/ref/forms/api/#django.forms.Form.prefix) för det genererade formuläret.

#### `get_initial()`

Hämtar initiala data för formuläret. Som standard returneras en kopia av [`initial`](#django.views.generic.edit.FormMixin.initial).

#### `get_form_class()`

Hämtar formulärklassen som ska instansieras. Som standard [`form_class`](#django.views.generic.edit.FormMixin.form_class).

#### `get_form(form_class=None)`

Instansiera en instans av `form_class` med [`get_form_kwargs()`](#django.views.generic.edit.FormMixin.get_form_kwargs). Om `form_class` inte tillhandahålls kommer [`get_form_class()`](#django.views.generic.edit.FormMixin.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()`](#django.views.generic.edit.FormMixin.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`](/sv/6.1/ref/forms/api/#django.forms.Form.prefix) för det genererade formuläret. Returnerar [`prefix`](#django.views.generic.edit.FormMixin.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`](#django.views.generic.edit.FormMixin.success_url) som standard.

#### `form_valid(form)`

Omdirigeringar till [`get_success_url()`](#django.views.generic.edit.FormMixin.get_success_url).

#### `form_invalid(form)`

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

#### `get_context_data(**kwargs)`

Anropar [`get_form()`](#django.views.generic.edit.FormMixin.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`](/sv/6.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin), har instanser av denna mixin tillgång till attributen [`model`](/sv/6.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.model) och [`queryset`](/sv/6.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.queryset), som beskriver den typ av objekt som `ModelForm` manipulerar.

Om du anger både attributen [`fields`](#django.views.generic.edit.ModelFormMixin.fields) och [`form_class`](#django.views.generic.edit.FormMixin.form_class), kommer ett [`ImproperlyConfigured`](/sv/6.1/ref/exceptions/#django.core.exceptions.ImproperlyConfigured) undantag att uppstå.

**Mixins**

- [`django.views.generic.edit.FormMixin`](#django.views.generic.edit.FormMixin)
- [`django.views.generic.detail.SingleObjectMixin`](/sv/6.1/ref/class-based-views/mixins-single-object/#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`](/sv/6.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.queryset).

#### `fields`

En lista med namn på fält. Detta tolkas på samma sätt som attributet `Meta.fields` i [`ModelForm`](/sv/6.1/topics/forms/modelforms/#django.forms.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`](/sv/6.1/ref/exceptions/#django.core.exceptions.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`](#django.views.generic.edit.FormMixin.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`](/sv/6.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.queryset), eller med [`model`](/sv/6.1/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin.model), beroende på vilket attribut som anges.

#### `get_form_kwargs()`

Lägg till den aktuella instansen (`self.object`) till standard [`get_form_kwargs()`](#django.views.generic.edit.FormMixin.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`](#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()`](#django.views.generic.edit.FormMixin.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.

> **Note**
>
> Denna heter ’ProcessFormView’ och ärver direkt från [`django.views.generic.base.View`](/sv/6.1/ref/class-based-views/base/#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`](/sv/6.1/ref/class-based-views/base/#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()`](#django.views.generic.edit.FormMixin.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()`](#django.views.generic.edit.ProcessFormView.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`](#django.views.generic.edit.DeletionMixin.success_url) som standard.
