Tampilan memperlihatkan umumLink to this heading
Dua tampilan berdasarkan-kelas umum berikut dirancang untuk menampilkan data. pada banyak proyek mereka khususnya paling umum menggunakan tampilan.
DetailViewLink to this heading
- class django.views.generic.detail.DetailViewLink to this definition
Selagi tampilan ini dikerjakan,
self.objectakan mengandung obyek yang tampilan beroperasi pada.Ancestors (MRO)
Tampilan ini mewarisi metode dan atribut dari tampilan berikut:
django.views.generic.detail.SingleObjectTemplateResponseMixindjango.views.generic.detail.BaseDetailView
Metode Diagram alir
get()
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 contextContoh 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>
ListViewLink to this heading
- class django.views.generic.list.ListViewLink to this definition
Sebuah halaman yang mewakili daftar dari obyek.
Hak administrator diwajibkan untuk mengerjakan perintah ini. Untuk melakukan ini, klik-kanan pada
geodjango_setup.batdan pilih . Anda butuh keluar dan masuk kembali untuk pengaturan mengambil pengaruh.Ancestors (MRO)
Tampilan ini mewarisi metode dan atribut dari tampilan berikut:
Metode Diagram alir
get()
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 contextContoh 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>Jika anda menggunakan penomoran, anda dapat memakai example template from the pagination docs. Rubah instance dari
contactsdalam contoh cetakan itu menjadipage_obj.
- class django.views.generic.list.BaseListViewLink to this definition
Sebuah tampilan dasar untuk memperlihatkan daftar obyek. Itu tidak dimaksud digunakan secara langsung, tetapi lebih sebagai sebuah kelas induk dari
django.views.generic.list.ListViewatau tampilan lain mewakili daftar obyek-obyek.Ancestors (MRO)
Tampilan ini mewarisi metode dan atribut dari tampilan berikut:
Cara
- get(request, *args, **kwargs)Link to this definition
Tambah
object_listke konteks. Jikaallow_emptyadalah True kemudian perlihatkan sebuah daftar kosong. Jikaallow_emptyadalah False kemudian memunculkan sebuah kesalahan 404.