---
title: "Mixin berdasarkan-tanggal"
version: 5.1
locale: id
source: https://docs.djangoproject.com/id/5.1/ref/class-based-views/mixins-date-based/
canonical: https://djangodocs.dev/id/5.1/ref/class-based-views/mixins-date-based/
---
# Mixin berdasarkan-tanggal

> **Note**
>
> Semua atribut pembentukan tanggal di mixin ini menggunakan karakter bentuk [`strftime()`](https://docs.python.org/3/library/time.html#time.strftime). Jangan mencoba menggunakan karakter bentuk dari etiket cetakan [`now`](/id/5.1/ref/templates/builtins/#std-templatetag-now) karena mereka tidak cocok.

## `YearMixin`

#### `class YearMixin`

Sebuah mixin yang dapat digunakan mengambil dan menyediakan informasi mengurai untuk komponen tahun dari tanggal.

**Cara dan Atribut**

#### `year_format`

Bentuk [`strftime()`](https://docs.python.org/3/library/time.html#time.strftime) digunakan ketika mengurai tahun. Secara awal, ini adalah `'%Y'`.

#### `year`

**Pilihan** Nilai untuk tahun, sebagai deretan kalimat. Secara awal, disetel ke `None`, yang berarti tahun akan ditentukan menggunakan cara lain.

#### `get_year_format()`

Mengembalikan bentuk [`strftime()`](https://docs.python.org/3/library/time.html#time.strftime) untuk digunakan ketika mengurai tahun. Mengembalikan [`year_format`](#django.views.generic.dates.YearMixin.year_format) secara awalan.

#### `get_year()`

Mengembalikan tahun untuk dimana tampilan ini akan menampilkan data, sebagai deretan kalimat. Coba sumber berikut, dalam urutan:

- Nilai dari atribut [`YearMixin.year`](#django.views.generic.dates.YearMixin.year).
- Nilai dari argumen `year` ditangkap di corak URL.
- Nilai dari argumen permintaan `GET` `year`.

Memunculkan 404 jika spesifikasi tahun tidak sah ditemukan.

#### `get_next_year(date)`

Mengembalikan obyek tanggal mengandung hari pertama dari tahun setelah tanggal disediakan. Fungsi ini dapat juga mengembalikan `None` atau memunculkan pengecualian [`Http404`](/id/5.1/topics/http/views/#django.http.Http404), tergantung pada nilai dari [`allow_empty`](#django.views.generic.dates.BaseDateListView.allow_empty) dan [`allow_future`](#django.views.generic.dates.DateMixin.allow_future).

#### `get_previous_year(date)`

Mengembalikan obyek tanggal mengandung hari pertama dari tahun setelah tanggal disediakan. Fungsi ini dapat juga mengembalikan `None` atau memunculkan pengecualian [`Http404`](/id/5.1/topics/http/views/#django.http.Http404), tergantung pada nilai dari [`allow_empty`](#django.views.generic.dates.BaseDateListView.allow_empty) dan [`allow_future`](#django.views.generic.dates.DateMixin.allow_future).

## `MonthMixin`

#### `class MonthMixin`

Sebuah mixin yang dapat digunakan mengambil dan menyediakan informasi mengurai untuk komponen bulan dari tanggal.

**Cara dan Atribut**

#### `month_format`

Bentuk [`strftime()`](https://docs.python.org/3/library/time.html#time.strftime) untuk digunakan ketika mengurai bulan. Secara awalan, ini adalah `'%b'`.

#### `month`

**Pilihan** Nilai dari bulan, sebagai deretan kalimat. Secara awal, disetel ke `None`, yang berarti bulan akan ditentukan menggunakan cara lain.

#### `get_month_format()`

Mengembalikan bentuk [`strftime()`](https://docs.python.org/3/library/time.html#time.strftime) untuk digunakan ketika mengurai bulan. Mengembalikan [`month_format`](#django.views.generic.dates.MonthMixin.month_format) secara awalan.

#### `get_month()`

Mengembalikan bulan untuk dimana tampilan ini akan menampilkan data, sebagai deretan kalimat. Coba sumber berikut, dalam urutan:

- Nilai dari atribut [`MonthMixin.month`](#django.views.generic.dates.MonthMixin.month).
- Nilai dari argumen `month` ditangkap di corak URL.
- Nilai dari argumen permintaan `GET` `month`.

Memunculkan 404 jika spesifikasi bulan tidak sah ditemukan.

#### `get_next_month(date)`

Mengembalikan obyek tanggal mengandung hari pertama dari bulan setelah tanggal disediakan. Fungsi ini dapat juga mengembalikan `None` atau memunculkan pengecualian [`Http404`](/id/5.1/topics/http/views/#django.http.Http404), tergantung pada nilai dari [`allow_empty`](#django.views.generic.dates.BaseDateListView.allow_empty) dan [`allow_future`](#django.views.generic.dates.DateMixin.allow_future).

#### `get_previous_month(date)`

Mengembalikan obyek tanggal mengandung hari pertama dari bulan sebelum tanggal disediakan. Fungsi ini dapat juga mengembalikan `None` atau memunculkan pengecualian [`Http404`](/id/5.1/topics/http/views/#django.http.Http404), tergantung pada nilai dari [`allow_empty`](#django.views.generic.dates.BaseDateListView.allow_empty) dan [`allow_future`](#django.views.generic.dates.DateMixin.allow_future).

## `DayMixin`

#### `class DayMixin`

Sebuah mixin yang dapat digunakan mengambil dan menyediakan informasi mengurai untuk komponen hari dari tanggal.

**Cara dan Atribut**

#### `day_format`

Bentuk [`strftime()`](https://docs.python.org/3/library/time.html#time.strftime) digunakan ketika mengurai tahun. Secara awal, ini adalah `'%d'`.

#### `day`

**Pilihan** Nilai dari hari, sebagai deretan kalimat. Secara awal, disetel ke\`\`None\`\`, yang berarti hari akan ditentukan menggunakan cara lain.

#### `get_day_format()`

Mengembalikan bentuk [`strftime()`](https://docs.python.org/3/library/time.html#time.strftime) untuk digunakan ketika mengurai hari. Mengembalikan [`day_format`](#django.views.generic.dates.DayMixin.day_format) secara awalan.

#### `get_day()`

Mengembalikan hari untuk dimana tampilan ini akan menampilkan data, sebagai deretan kalimat. Coba sumber berikut, dalam urutan:

- Nilai dari atribut [`DayMixin.day`](#django.views.generic.dates.DayMixin.day).
- Nilai dari argumen `day` ditangkap di corak URL.
- Nilai dari argumen permintaan `GET` `day`.

Memunculkan 404 jika spesifikasi hari tidak sah ditemukan.

#### `get_next_day(date)`

Mengembalikan obyek tanggal mengandung hari sah selanjutnya setelah tanggal disediakan. Fungsi ini dapat juga mengembalikan `None` atau memunculkan pengecualian [`Http404`](/id/5.1/topics/http/views/#django.http.Http404), tergantung pada nilai dari [`allow_empty`](#django.views.generic.dates.BaseDateListView.allow_empty) dan [`allow_future`](#django.views.generic.dates.DateMixin.allow_future).

#### `get_previous_day(date)`

Mengembalikan obyek tanggal mengandung hari sah sebelumnya. Fungsi ini dapat juga mengembalikan `None` atau memunculkan pengecualian [`Http404`](/id/5.1/topics/http/views/#django.http.Http404), tergantung pada nilai dari [`allow_empty`](#django.views.generic.dates.BaseDateListView.allow_empty) dan [`allow_future`](#django.views.generic.dates.DateMixin.allow_future).

## `WeekMixin`

#### `class WeekMixin`

Sebuah mixin yang dapat digunakan mengambil dan menyediakan informasi mengurai untuk komponen minggu dari tanggal.

**Cara dan Atribut**

#### `week_format`

The [`strftime()`](https://docs.python.org/3/library/time.html#time.strftime) format to use when parsing the week. By
default, this is `'%U'`, which means the week starts on Sunday. Set
it to `'%W'` or `'%V'` (ISO 8601 week) if your week starts on
Monday.

#### `week`

**Pilihan** Nilai dari minggu, sebagai deretan kalimat. Secara awal, disetel ke\`\`None\`\`, yang berarti minggu akan ditentukan menggunakan cara lain.

#### `get_week_format()`

Mengembalikan bentuk [`strftime()`](https://docs.python.org/3/library/time.html#time.strftime) untuk digunakan ketika mengurai minggu. Mengembalikan [`week_format`](#django.views.generic.dates.WeekMixin.week_format) secara awalan.

#### `get_week()`

Mengembalikan minggu untuk dimana tampilan ini akan menampilkan data, sebagai deretan kalimat. Coba sumber berikut, dalam urutan:

- Nilai dari atribut [`WeekMixin.week`](#django.views.generic.dates.WeekMixin.week).
- Nilai dari argumen `week` ditangkap di corak URL.
- Nilai dari argumen permintaan `GET` `week`.

Memunculkan 404 jika spesifikasi minggu tidak sah ditemukan.

#### `get_next_week(date)`

Mengembalikan obyek tanggal mengandung hari pertama dari minggu setelah tanggal disediakan. Fungsi ini dapat juga mengembalikan `None` atau memunculkan pengecualian [`Http404`](/id/5.1/topics/http/views/#django.http.Http404), tergantung pada nilai dari [`allow_empty`](#django.views.generic.dates.BaseDateListView.allow_empty) dan [`allow_future`](#django.views.generic.dates.DateMixin.allow_future).

#### `get_prev_week(date)`

Mengembalikan obyek tanggal mengandung hari pertama dari minggu setelah tanggal disediakan. Fungsi ini dapat juga mengembalikan `None` atau memunculkan pengecualian [`Http404`](/id/5.1/topics/http/views/#django.http.Http404), tergantung pada nilai dari [`allow_empty`](#django.views.generic.dates.BaseDateListView.allow_empty) dan [`allow_future`](#django.views.generic.dates.DateMixin.allow_future).

## `DateMixin`

#### `class DateMixin`

Sebuah kelas mixin menyediakan perilaku umum untuk semua tampilan berdasarkan-tanggal.

**Cara dan Atribut**

#### `date_field`

Nama dari `DateField` atau `DateTimeField` di model `QuerySet` yang arsip berdasarkan-tanggal harus digunakan untuk menentukan daftar dari obyek untuk diperlihatkan pada halaman.

Ketika [time zone support](/id/5.1/topics/i18n/timezones/) diadakan dan `date_field` adalah sebuah `DateTimeField`, tanggal dianggap menjadi di zona waktu saat ini. Jika tidak, queryset dapat menyertakan obyek-obyek dari sebelum atau hari selanjutnya di akhir zona waktu pengguna.

> **Warning**
>
> Di keadaan ini, jika anda telah menerapkan pemilihan zona waktu per-pengguna, URL sama mungkin menampilkan kumpulan berbeda dari obyek-obyek, tergantung pada zona waktu pengguna akhir. Untuk menghindari ini, anda harus menggunakan `DateField` sebagai atribut `date_field`.

#### `allow_future`

Sebuah boolean menentukan apakah menyertakan obyek-obyek "future" pada halaman ini, dimana "future" berarti obyek-obyek dimana bidang ditentukan di `date_field` adalah lebih besar dari tanggal/waktu saat ini. Secara awalan, ini adalah `False`.

#### `get_date_field()`

Mengembalikan nama dari bidang yang mengandung data tanggal yang tampilan ini akan berjalan. Mengembalikan [`date_field`](#django.views.generic.dates.DateMixin.date_field) secara awalan.

#### `get_allow_future()`

Menentukan apakah menyertakan obyek-obyek "future" pada halaman ini, dimana "future" berarti obyek-obyek dimana bidang ditentukan di `date_field` adalah lebih besar dari tanggal/waktu saat ini. Mengembalikan [`allow_future`](#django.views.generic.dates.DateMixin.allow_future) secara awalan.

## `BaseDateListView`

#### `class BaseDateListView`

Sebuah kelas dasar yang menyediakan perilaku umum untuk semua tampilan berdasarkan-tanggal. Biasanya tidak akanmenjadi sebuah alasan untuk menginstasiasi [`BaseDateListView`](#django.views.generic.dates.BaseDateListView); instasiasi satu dari subkelas-subkelas sebagai gantinya.

Selagi tampilan ini (dan subkelasnya) dikerjakan, `self.object_list` akan mengandung daftar dari obyek-obyek yang tampilan adalah beroperasi, dan `self.date_list` akan mengandung daftar dari tanggal yang data tersedia.

**Mixins**

- [`DateMixin`](#django.views.generic.dates.DateMixin)
- [`MultipleObjectMixin`](/id/5.1/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectMixin)

**Cara dan Atribut**

#### `allow_empty`

Sebuah boolean menentukan apakah memperlihatkan halaman jika tidak ada obyek tersedia. Jika ini adalah `True` dan tidak ada obyek tersedia, tampilan akan meemperlihatkan sebuah halaman kosong daripada memunculkan sebuah 404.

Ini mirip pada [`django.views.generic.list.MultipleObjectMixin.allow_empty`](/id/5.1/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectMixin.allow_empty), kecuali untuk nilai awalan, yaitu `False`.

#### `date_list_period`

**Pilihan** String menentukan masa pengumpulan untuk `date_list`. Itu harus berupa satu dari `'year'` (awalan), `'month'`, atau `'day'`.

#### `get_dated_items()`

Mengembalikan 3-tuple mengandung (`date_list`, `object_list`, `extra_context`).

`date_list` adalah daftar tanggal yang data tersedia. `object_list` adalah daftar dari obyek. `extra_context` adalah sebuah kamus dari konteks data yang akan ditambahkan ke konteks data apapun disediakan oleh [`MultipleObjectMixin`](/id/5.1/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectMixin).

#### `get_dated_queryset(**lookup)`

Mengembalikan sebuah queryset, disaring menggunakan argumen permintaan ditentukan oleh `lookup`. Memaksa larangan apapun pada queryset, seperti `allow_empty` dan `allow_future`.

#### `get_date_list_period()`

Mengembalikan masa pengumpulan untuk `date_list`. Mengembalikan [`date_list_period`](#django.views.generic.dates.BaseDateListView.date_list_period) secara awalan.

#### `get_date_list(queryset, date_type=None, ordering='ASC')`

Returns the list of dates of type `date_type` for which `queryset`
contains entries. For example, `get_date_list(qs, 'year')` will
return the list of years for which `qs` has entries. If
`date_type` isn't provided, the result of
[`get_date_list_period()`](#django.views.generic.dates.BaseDateListView.get_date_list_period) is used. `date_type`
and `ordering` are passed to
[`QuerySet.dates()`](/id/5.1/ref/models/querysets/#django.db.models.query.QuerySet.dates).
