Dua tampilan berdasarkan-kelas umum berikut dirancang untuk menampilkan data. pada banyak proyek mereka khususnya paling umum menggunakan tampilan.
DetailView
¶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
setup()
dispatch()
http_method_not_allowed()
get_template_names()
get_slug_field()
get_queryset()
get_object()
get_context_object_name()
get_context_data()
get()
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>
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:
Cara
get
(request, *args, **kwargs)¶Adds object
to the context.
ListView
¶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 . 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
setup()
dispatch()
http_method_not_allowed()
get_template_names()
get_queryset()
get_context_object_name()
get_context_data()
get()
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.
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:
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.
Des 04, 2023