---
title: "Mixin sederhana"
version: 5.2
locale: id
source: https://docs.djangoproject.com/id/5.2/ref/class-based-views/mixins-simple/
canonical: https://djangodocs.dev/id/5.2/ref/class-based-views/mixins-simple/
---
# Mixin sederhana

## `ContextMixin`

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

**Atribut**

#### `extra_context`

A dictionary to include in the context. This is a convenient way of
specifying some context in
[`as_view()`](/id/5.2/ref/class-based-views/base/#django.views.generic.base.View.as_view). Example usage:

```
from django.views.generic import TemplateView

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

**Cara**

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

Mengembalikan sebuah kamus mewakili konteks cetakan. Argumen kata kunci disediakan akan melengkapi konteks dikembalikan. Contoh penggunaan:

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

Konteks cetakan dari semua tampilan umum berdasarkan-kelas menyertakan sebuah variabel `view` pada instance `View`.

> **Gunakan alters_data dimana sesuai**
>
> Catat bahwa memiliki instance tampilan di konteks cetakan mungkin menyingkap potensi metode berbahaya pada cetakan penulis. Untuk mencegah metode seperti ini dari menjadi dipanggil di cetakan, setel `alters_data=True` pada metode tersebut. Untuk informasi lebih, baca dokumentasi pada [rendering a template context](/id/5.2/ref/templates/api/#alters-data-description).

## `TemplateResponseMixin`

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

Menyediakan sebuah mekanisme membangun sebuah [`TemplateResponse`](/id/5.2/ref/template-response/#django.template.response.TemplateResponse), konteks cocok yang diberikan. Cetakan untuk digunakan adalah dapat dikonfigurasi dan dapat lebih jau disesuaiakan oleh subkelas-subkelas.

**Atribut**

#### `template_name`

Nama penuh dari sebuah cetakan untuk menggunakan seperti ditentukan oleh sebuah string. Tidak menentukan sebuah `template_name` akan memunculkan sebuah pengecualian [`django.core.exceptions.ImproperlyConfigured`](/id/5.2/ref/exceptions/#django.core.exceptions.ImproperlyConfigured).

#### `template_engine`

[`NAME`](/id/5.2/ref/settings/#std-setting-TEMPLATES-NAME) dari mesin cetakan untuk digunakan untuk memuat cetakan. `template_engine` dilewatkan sebagai argumen kata kunci `using` pada `response_class`. Awalan adalah `None`, yang memberitahu Django untuk mencari cetakan di semua mesin yang dikonfigurasikan.

#### `response_class`

Kelas tanggapan untuk dikembalikan oleh metode `render_to_response`. Awalan adalah [`TemplateResponse`](/id/5.2/ref/template-response/#django.template.response.TemplateResponse). Cetakan dan konteks dari instance `TemplateResponse` dapat dirubah kemudian (misalnya di [template response middleware](/id/5.2/topics/http/middleware/#template-response-middleware)).

Jika anda butuh menyesuaikan memuat cetakan atau menyesuaikan instansiasi obyek konteks, buat sebuah subkelas `TemplateResponse` dan berikan itu ke `response_class`.

#### `content_type`

The content type to use for the response. `content_type` is passed
as a keyword argument to `response_class`. Default is `None` --
meaning that Django uses `'text/html'`.

**Cara**

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

Mengembalikan instance `self.response_class`.

Jika argumen kata kunci apapun disediakan, mereka akan dilewatkan ke pembangun dari kelas tanggapan.

Memanggil [`get_template_names()`](#django.views.generic.base.TemplateResponseMixin.get_template_names) untuk mendapatkan daftar dari nama-nama cetakan yang akan dicari cari sebuah cetakan yang ada.

#### `get_template_names()`

Mengembalikan daftar dari nama-nama cetakan untuk dicari ketika membangun cetakan. Cetakan pertama yang ditemukan akan digunakan.

The default implementation will return a list containing
[`template_name`](#django.views.generic.base.TemplateResponseMixin.template_name) (if it is specified).
