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
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>
-
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:
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 . 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.
-
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:
Cara
-
get
(request, *args, **kwargs)ΒΆ Tambah
object_list
ke konteks. Jikaallow_empty
adalah True kemudian perlihatkan sebuah daftar kosong. Jikaallow_empty
adalah False kemudian memunculkan sebuah kesalahan 404.
-