# Dokumentasi Django 5.2.8

# Tampilan memperlihatkan umum

Dua tampilan berdasarkan-kelas umum berikut dirancang untuk menampilkan data. pada banyak proyek mereka khususnya paling umum menggunakan tampilan.

## `DetailView`

class django.views.generic.detail.DetailView

  Selagi tampilan ini dikerjakan, `self.object` akan mengandung obyek yang tampilan beroperasi pada.

  Ancestors (MRO)

  Tampilan ini mewarisi metode dan atribut dari tampilan berikut:

  - `django.views.generic.detail.SingleObjectTemplateResponseMixin`

  - `django.views.generic.base.TemplateResponseMixin`

  - `django.views.generic.detail.BaseDetailView`

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

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

  Metode Diagram alir

  1. `setup()`

  2. `dispatch()`

  3. `http_method_not_allowed()`

  4. `get_template_names()`

  5. `get_slug_field()`

  6. `get_queryset()`

  7. `get_object()`

  8. `get_context_object_name()`

  9. `get_context_data()`

  10. `get()`

  11. `render_to_response()`

  Contoh myapp/views.py:

      from django.utils import timezone
      from django.views.generic.detail import DetailView

      from articles.models import Article

      class ArticleDetailView(DetailView):
          model = Article

          def get_context_data(self, **kwargs):
              context = super().get_context_data(**kwargs)
              context["now"] = timezone.now()
              return context

  Contoh myapp/urls.py:

      from django.urls import path

      from article.views import ArticleDetailView

      urlpatterns = [
          path("<slug:slug>/", ArticleDetailView.as_view(), name="article-detail"),
      ]

  Contoh myapp/article_detail.html:

      <h1>{{ object.headline }}</h1>
      <p>{{ object.content }}</p>
      <p>Reporter: {{ object.reporter }}</p>
      <p>Published: {{ object.pub_date|date }}</p>
      <p>Date: {{ now|date }}</p>

class django.views.generic.detail.BaseDetailView

  A base view for displaying a single object. It is not intended to be used directly, but rather as a parent class of the `django.views.generic.detail.DetailView` or other views representing details of a single object.

  Ancestors (MRO)

  Tampilan ini mewarisi metode dan atribut dari tampilan berikut:

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

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

  Cara

  get(request, *args, **kwargs)

    Adds `object` to the context.

## `ListView`

class django.views.generic.list.ListView

  Sebuah halaman yang mewakili daftar dari obyek.

  Hak administrator diwajibkan untuk mengerjakan perintah ini. Untuk melakukan ini, klik-kanan pada `geodjango_setup.bat` dan pilih Run as administrator. Anda butuh keluar dan masuk kembali untuk pengaturan mengambil pengaruh.

  Ancestors (MRO)

  Tampilan ini mewarisi metode dan atribut dari tampilan berikut:

  - `django.views.generic.list.MultipleObjectTemplateResponseMixin`

  - `django.views.generic.base.TemplateResponseMixin`

  - `django.views.generic.list.BaseListView`

  - `django.views.generic.list.MultipleObjectMixin`

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

  Metode Diagram alir

  1. `setup()`

  2. `dispatch()`

  3. `http_method_not_allowed()`

  4. `get_template_names()`

  5. `get_queryset()`

  6. `get_context_object_name()`

  7. `get_context_data()`

  8. `get()`

  9. `render_to_response()`

  Contoh views.py:

      from django.utils import timezone
      from django.views.generic.list import ListView

      from articles.models import Article

      class ArticleListView(ListView):
          model = Article
          paginate_by = 100  # if pagination is desired

          def get_context_data(self, **kwargs):
              context = super().get_context_data(**kwargs)
              context["now"] = timezone.now()
              return context

  Contoh myapp/urls.py:

      from django.urls import path

      from article.views import ArticleListView

      urlpatterns = [
          path("", ArticleListView.as_view(), name="article-list"),
      ]

  Contoh myapp/article_list.html:

      <h1>Articles</h1>
      <ul>
      {% for article in object_list %}
          <li>{{ article.pub_date|date }} - {{ article.headline }}</li>
      {% empty %}
          <li>No articles yet.</li>
      {% endfor %}
      </ul>

  If you're using pagination, you can adapt the example template from the pagination docs.

class django.views.generic.list.BaseListView

  Sebuah tampilan dasar untuk memperlihatkan daftar obyek. Itu tidak dimaksud digunakan secara langsung, tetapi lebih sebagai sebuah kelas induk dari `django.views.generic.list.ListView` atau tampilan lain mewakili daftar obyek-obyek.

  Ancestors (MRO)

  Tampilan ini mewarisi metode dan atribut dari tampilan berikut:

  - `django.views.generic.list.MultipleObjectMixin`

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

  Cara

  get(request, *args, **kwargs)

    Tambah `object_list` ke konteks. Jika `allow_empty` adalah True kemudian perlihatkan sebuah daftar kosong. Jika `allow_empty` adalah False kemudian memunculkan sebuah kesalahan 404.