Generic date viewsLink to this heading
Tampilan umum berdasarkan-tanggal, disediakan di django.views.generic.dates, adalah tampilan untuk menampilkan halaman-halaman penelusuran untuk data berdasarkan-tanggal.
ArchiveIndexViewLink to this heading
- class ArchiveIndexViewLink to this definition
Halaman indeks tingkat-atas menampilkan obyek "latest", berdasarkan tanggal. Obyek dengan sebuah tanggal di future tidak disertakan meskipun anda menyetel
allow_futuremenjadiTrue.Ancestors (MRO)
Konteks
Sebagai tambahan pada konteks disediakan oleh
django.views.generic.list.MultipleObjectMixin(melaluidjango.views.generic.dates.BaseDateListView), konteks cetakan akan menjadi:date_list: Sebuah obyekQuerySetmengandung semua tahun yang mempunyai obyek-obyek tersedia menurut padaqueryset, diwakili sebagai obyekdatetime.datetime, dalam urutan menurun.
Catatan
Menggunakan
context_object_nameawal darilatest.Menggunakan
template_name_suffixawal dari_archive.Awalan untuk menyediakan
date_listberdasarkan tahun, tetapi ini dapat dirubah menjadi bulan atau hari menggunakan atributdate_list_period. Ini juga memberlakukan ke semua tampilan subkelas.
Contoh myapp/urls.py:
from django.urls import path from django.views.generic.dates import ArchiveIndexView from myapp.models import Article urlpatterns = [ path('archive/', ArchiveIndexView.as_view(model=Article, date_field="pub_date"), name="article_archive"), ]Contoh myapp/article_archive.html:
<ul> {% for article in latest %} <li>{{ article.pub_date }}: {{ article.title }}</li> {% endfor %} </ul>Ini akan mengeluarkan semua artikel.
YearArchiveViewLink to this heading
- class YearArchiveViewLink to this definition
Halaman arsip tahunan menampilkan semua bulan tersedia di tahun yang diberikan. Obyek-obyek dengan tanggal future tidak ditampilkan meskipun anda menyetel
allow_futuremenjadiTrue.Ancestors (MRO)
- make_object_listLink to this definition
Sebuah boolean menentukan apakah mengambil daftar penuh dari obyek-obyek untuk tahun ini dan melewatkan itu ke cetakan. Jika
True, daftar dari obyek-obyek akan dibuat tersedia ke konteks. JikaFalse, querysetNoneakan digunakan sebagai daftar obyek. Secara awalan, ini adalahFalse.
- get_make_object_list()Link to this definition
Menentukan jika sebuah daftar obyek akan dikembalikan sebagai bagian dari konteks. Mengembalikan
make_object_listsecara awalan.
Konteks
Sebagai tambahan pada konteks disediakan oleh
django.views.generic.list.MultipleObjectMixin(melaluidjango.views.generic.dates.BaseDateListView), konteks cetakan akan menjadi:date_list: Sebuah obyekQuerySetmengandung semua bulan yang mempunyai obyek-obyek tersedia menurut padaqueryset, diwakili sebagai obyekdatetime.datetime, dalam urutan menaik.year: Sebuah obyekdatemewakili tahun yang diberikan.next_year: Sebuah obyekdatemewakili hari pertama dari tahun selanjutnya menurutallow_emptydanallow_future.previous_year: Sebuah obyekdatemewakili hari pertama dari tahun sebelumnya, menurutallow_emptydanallow_future.
Catatan
Menggunakan
template_name_suffixawal dari_archive_year.
Contoh myapp/views.py:
from django.views.generic.dates import YearArchiveView from myapp.models import Article class ArticleYearArchiveView(YearArchiveView): queryset = Article.objects.all() date_field = "pub_date" make_object_list = True allow_future = TrueContoh myapp/urls.py:
from django.urls import path from myapp.views import ArticleYearArchiveView urlpatterns = [ path('<int:year>/', ArticleYearArchiveView.as_view(), name="article_year_archive"), ]Contoh myapp/article_archive_year.html:
<ul> {% for date in date_list %} <li>{{ date|date }}</li> {% endfor %} </ul> <div> <h1>All Articles for {{ year|date:"Y" }}</h1> {% for obj in object_list %} <p> {{ obj.title }} - {{ obj.pub_date|date:"F j, Y" }} </p> {% endfor %} </div>
MonthArchiveViewLink to this heading
- class MonthArchiveViewLink to this definition
Halaman arsip tahunan menampilkan semua obyek di tahun yang diberikan. Obyek-obyek dengan tanggal future tidak ditampilkan meskipun anda menyetel
allow_futuremenjadiTrue.Ancestors (MRO)
Konteks
Sebagai tambahan pada konteks disediakan oleh
MultipleObjectMixin(melaluidjango.views.generic.dates.BaseDateListView), konteks cetakan akan menjadi:date_list: Sebuah obyekQuerySetmengandung semua hari yang mempunyai obyek-obyek tersedia di bulan yang diberikan, menurut padaqueryset, diwakili sebagai obyekdatetime.datetime, dalam urutan menaik.month: Sebuah obyekdatemewakili bulanyang diberikan.next_month: Sebuah obyekdatemewakili hari pertama dari bulan selanjutnya menurutallow_emptydanallow_future.previous_month: Sebuah obyekdatemewakili hari pertama dari bulan sebelumnya, menurutallow_emptydanallow_future.
Catatan
Menggunakan
template_name_suffixawal dari_archive_month.
Contoh myapp/views.py:
from django.views.generic.dates import MonthArchiveView from myapp.models import Article class ArticleMonthArchiveView(MonthArchiveView): queryset = Article.objects.all() date_field = "pub_date" allow_future = TrueContoh myapp/urls.py:
from django.urls import path from myapp.views import ArticleMonthArchiveView urlpatterns = [ # Example: /2012/08/ path('<int:year>/<int:month>/', ArticleMonthArchiveView.as_view(month_format='%m'), name="archive_month_numeric"), # Example: /2012/aug/ path('<int:year>/<str:month>/', ArticleMonthArchiveView.as_view(), name="archive_month"), ]Contoh myapp/article_archive_month.html:
<ul> {% for article in object_list %} <li>{{ article.pub_date|date:"F j, Y" }}: {{ article.title }}</li> {% endfor %} </ul> <p> {% if previous_month %} Previous Month: {{ previous_month|date:"F Y" }} {% endif %} {% if next_month %} Next Month: {{ next_month|date:"F Y" }} {% endif %} </p>
WeekArchiveViewLink to this heading
- class WeekArchiveViewLink to this definition
Halaman arsip tahunan menampilkan semua obyek di minggu yang diberikan. Obyek-obyek dengan tanggal future tidak ditampilkan meskipun anda menyetel
allow_futuremenjadiTrue.Ancestors (MRO)
Konteks
Sebagai tambahan pada konteks disediakan oleh
MultipleObjectMixin(melaluidjango.views.generic.dates.BaseDateListView), konteks cetakan akan menjadi:week: Sebuah obyekdatemewakili hari pertama dari minggu yang diberikan.next_week: Sebuah obyekdatemewakili hari pertama dari minggu selanjutnya menurutallow_emptydanallow_future.previous_week: Sebuah obyekdatemewakili hari pertama dari minggu sebelumnya, menurutallow_emptydanallow_future.
Catatan
Menggunakan
template_name_suffixawal dari_archive_week.Atribut
week_formatadalah sebuah bentuk stringstrptime()digunakan untuk mengurai nomor minggu. Nilai-nilai berikut adalah didukung:'%U': Berdasarkan pada sistem minggu Amerika Serikat dimana minggu dimulai pada hari Minggu. Ini adalah nilai awalan.'%W': Mirip pada'%U', kecuali itu menganggap bahwa minggu dimulai pada hari Senin. Ini tidak sama seperti nomor minggu ISO 8601.'%V': ISO 8601 week number where the week begins on Monday.
Contoh myapp/views.py:
from django.views.generic.dates import WeekArchiveView from myapp.models import Article class ArticleWeekArchiveView(WeekArchiveView): queryset = Article.objects.all() date_field = "pub_date" week_format = "%W" allow_future = TrueContoh myapp/urls.py:
from django.urls import path from myapp.views import ArticleWeekArchiveView urlpatterns = [ # Example: /2012/week/23/ path('<int:year>/week/<int:week>/', ArticleWeekArchiveView.as_view(), name="archive_week"), ]Contoh myapp/article_archive_week.html:
<h1>Week {{ week|date:'W' }}</h1> <ul> {% for article in object_list %} <li>{{ article.pub_date|date:"F j, Y" }}: {{ article.title }}</li> {% endfor %} </ul> <p> {% if previous_week %} Previous Week: {{ previous_week|date:"W" }} of year {{ previous_week|date:"Y" }} {% endif %} {% if previous_week and next_week %}--{% endif %} {% if next_week %} Next week: {{ next_week|date:"W" }} of year {{ next_week|date:"Y" }} {% endif %} </p>Di contoh ini, anda mengeluarkan nomor minggu. Harap diingat bahwa nomor minggu dihitung oleh penyaring cetakan
datedengan karakter bentuk'W'tidak selalu sama ketika itu dihitung olehstrftime()danstrptime()dengan string bentukstrptime(). untuk tahun 2015, sebagai keluaran contoh nomor minggu olehdateadalah lebih tinggi oleh satu dibandingkan ke keluarannya olehstrftime(). Tidak ada setara untuk string bentuk '%U'`strftime()didate. Karena itu, anda harus menghindari menggunakandateuntuk membangkitkan URL untukWeekArchiveView.
DayArchiveViewLink to this heading
- class DayArchiveViewLink to this definition
Halaman arsip tahunan menampilkan semua obyek di hari yang diberikan. Hari-hari d masa depan melemparkan sebuah kesalahan 404, terlepas dari apapun setiap obyek ada untuk hari akan datang, meskipun anda menyetel
allow_futuremenjadiTrue.Ancestors (MRO)
Konteks
Sebagai tambahan pada konteks disediakan oleh
MultipleObjectMixin(melaluidjango.views.generic.dates.BaseDateListView), konteks cetakan akan menjadi:day: Sebuah obyekdatemewakili hari diberikan.next_day: Sebuah obyekdatemewakili hari selanjutnya, menurutallow_emptydanallow_future.previous_day: Sebuah obyekdatemewakili hari sebelumnya, menurutallow_emptydanallow_future.next_month: Sebuah obyekdatemewakili hari pertama dari bulan selanjutnya menurutallow_emptydanallow_future.previous_month: Sebuah obyekdatemewakili hari pertama dari bulan sebelumnya, menurutallow_emptydanallow_future.
Catatan
Menggunakan
template_name_suffixawal dari_archive_day.
Contoh myapp/views.py:
from django.views.generic.dates import DayArchiveView from myapp.models import Article class ArticleDayArchiveView(DayArchiveView): queryset = Article.objects.all() date_field = "pub_date" allow_future = TrueContoh myapp/urls.py:
from django.urls import path from myapp.views import ArticleDayArchiveView urlpatterns = [ # Example: /2012/nov/10/ path('<int:year>/<str:month>/<int:day>/', ArticleDayArchiveView.as_view(), name="archive_day"), ]Contoh myapp/article_archive_day.html:
<h1>{{ day }}</h1> <ul> {% for article in object_list %} <li>{{ article.pub_date|date:"F j, Y" }}: {{ article.title }}</li> {% endfor %} </ul> <p> {% if previous_day %} Previous Day: {{ previous_day }} {% endif %} {% if previous_day and next_day %}--{% endif %} {% if next_day %} Next Day: {{ next_day }} {% endif %} </p>
TodayArchiveViewLink to this heading
- class TodayArchiveViewLink to this definition
Halaman arsip hari menampilkan semua obyek untuk today. Ini sebenarnya sama seperti
django.views.generic.dates.DayArchiveView, kecuali tanggal hari ini digunakan daripada argumenyear/month/day.Ancestors (MRO)
Catatan
Menggunakan
template_name_suffixawal dari_archive_today.
Contoh myapp/views.py:
from django.views.generic.dates import TodayArchiveView from myapp.models import Article class ArticleTodayArchiveView(TodayArchiveView): queryset = Article.objects.all() date_field = "pub_date" allow_future = TrueContoh myapp/urls.py:
from django.urls import path from myapp.views import ArticleTodayArchiveView urlpatterns = [ path('today/', ArticleTodayArchiveView.as_view(), name="archive_today"), ]
DateDetailViewLink to this heading
- class DateDetailViewLink to this definition
Sebuah halaman mewakili obyek perseorangan. Jika obyek mempunyai nilai tanggal di masa depan, tampilan akan melempar sebuah kesalahan 404 secara awalan, meskipun anda menyetel
allow_futuremenjadiTrue.Ancestors (MRO)
Konteks
Disertakan obyek tunggal terkait dengan
modelditentukan diDateDetailView.
Catatan
Menggunakan
template_name_suffixawal dari_detail.
Contoh myapp/urls.py:
from django.urls import path from django.views.generic.dates import DateDetailView urlpatterns = [ path('<int:year>/<str:month>/<int:day>/<int:pk>/', DateDetailView.as_view(model=Article, date_field="pub_date"), name="archive_date_detail"), ]Contoh myapp/article_detail.html:
<h1>{{ object.title }}</h1>