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

## `KontextMixin`

#### `class django.views.generic.base.ContextMixin`

**Attribut**

#### `extra_context`

En ordbok som ska inkluderas i sammanhanget. Detta är ett bekvämt sätt att ange en kontext i [`as_view()`](/sv/6.1/ref/class-based-views/base/#django.views.generic.base.View.as_view). Exempel på användning:

```
from django.views.generic import TemplateView

TemplateView.as_view(extra_context={"title": "Custom Title"})
```

**Metoder**

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

Returnerar en ordbok som representerar mallkontexten. De nyckelordsargument som anges kommer att utgöra den returnerade kontexten. Exempel på användning:

```
def get_context_data(self, **kwargs):
    context = super().get_context_data(**kwargs)
    context["number"] = random.randrange(1, 100)
    return context
```

Mallkontexten för alla klassbaserade generiska vyer innehåller en variabel `view` som pekar på instansen `View`.

> **Använd alters_data där det är lämpligt**
>
> Note that having the view instance in the template context may
> expose potentially hazardous methods to template authors. To
> prevent methods like this from being called in the template, set
> `alters_data=True` on those methods. For more information, read
> the documentation on [rendering a template context](/sv/6.1/ref/templates/api/#alters-data-description).

## `TemplateResponseMixin`

#### `class django.views.generic.base.TemplateResponseMixin`

Tillhandahåller en mekanism för att konstruera en [`TemplateResponse`](/sv/6.1/ref/template-response/#django.template.response.TemplateResponse), givet lämpligt sammanhang. Den mall som ska användas är konfigurerbar och kan anpassas ytterligare av underklasser.

**Attribut**

#### `template_name`

Det fullständiga namnet på en mall som ska användas, definierat av en sträng. Om du inte definierar ett `template_name` kommer ett undantag av `` django.core.exceptions.ImproperlyConfigured` `` att uppstå.

#### `template_engine`

[`NAME`](/sv/6.1/ref/settings/#std-setting-TEMPLATES-NAME) för en mallmotor som ska användas för att ladda mallen. `template_engine` skickas som `using` nyckelordsargument till `response_class`. Standard är `None`, vilket säger till Django att söka efter mallen i alla konfigurerade motorer.

#### `response_class`

Den svarsklass som ska returneras av metoden `render_to_response`. Standard är [`TemplateResponse`](/sv/6.1/ref/template-response/#django.template.response.TemplateResponse). Mallen och kontexten för `TemplateResponse`-instanser kan ändras senare (t.ex. i [template response middleware](/sv/6.1/topics/http/middleware/#template-response-middleware)).

Om du behöver anpassad laddning av mallar eller anpassad instansiering av kontextobjekt skapar du en subklass av `TemplateResponse` och tilldelar den till `response_class`.

#### `content_type`

Den innehållstyp som ska användas för svaret. `content_type` skickas som ett nyckelordsargument till `response_class`. Standard är `None` \- vilket innebär att Django använder `'text/html`.

**Metoder**

#### `render_to_response(context, **response_kwargs)`

Returnerar en instans av `self.response_class`.

Om några nyckelordsargument anges kommer de att skickas till konstruktören för svarsklassen.

Calls [`get_template_names()`](#django.views.generic.base.TemplateResponseMixin.get_template_names) to obtain the list of template names
that will be searched looking for an existent template.

#### `get_template_names()`

Returnerar en lista med mallnamn att söka efter vid rendering av mallen. Den första mallen som hittas kommer att användas.

Standardimplementeringen returnerar en lista som innehåller [`template_name`](#django.views.generic.base.TemplateResponseMixin.template_name) (om det anges).
