123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328 |
- ==================
- Generic date views
- ==================
- .. module:: django.views.generic.dates
- Date-based generic views, provided in :mod:`django.views.generic.dates`, are
- views for displaying drilldown pages for date-based data.
- ArchiveIndexView
- ----------------
- .. class:: ArchiveIndexView
- A top-level index page showing the "latest" objects, by date. Objects with
- a date in the *future* are not included unless you set ``allow_future`` to
- ``True``.
- **Ancestors (MRO)**
- * :class:`django.views.generic.dates.ArchiveIndexView`
- * :class:`django.views.generic.list.MultipleObjectTemplateResponseMixin`
- * :class:`django.views.generic.base.TemplateResponseMixin`
- * :class:`django.views.generic.dates.BaseArchiveIndexView`
- * :class:`django.views.generic.dates.BaseDateListView`
- * :class:`django.views.generic.list.MultipleObjectMixin`
- * :class:`django.views.generic.dates.DateMixin`
- * :class:`django.views.generic.base.View`
- **Notes**
- * Uses a default ``context_object_name`` of ``latest``.
- * Uses a default ``template_name_suffix`` of ``_archive``.
- * Defaults to providing ``date_list`` by year, but this can be altered to
- month or day using the attribute ``date_list_period``. This also applies
- to all subclass views.
- YearArchiveView
- ---------------
- .. class:: YearArchiveView
- A yearly archive page showing all available months in a given year. Objects
- with a date in the *future* are not displayed unless you set
- ``allow_future`` to ``True``.
- **Ancestors (MRO)**
- * :class:`django.views.generic.dates.YearArchiveView`
- * :class:`django.views.generic.list.MultipleObjectTemplateResponseMixin`
- * :class:`django.views.generic.base.TemplateResponseMixin`
- * :class:`django.views.generic.dates.BaseYearArchiveView`
- * :class:`django.views.generic.dates.YearMixin`
- * :class:`django.views.generic.dates.BaseDateListView`
- * :class:`django.views.generic.list.MultipleObjectMixin`
- * :class:`django.views.generic.dates.DateMixin`
- * :class:`django.views.generic.base.View`
- .. attribute:: make_object_list
- A boolean specifying whether to retrieve the full list of objects for
- this year and pass those to the template. If ``True``, the list of
- objects will be made available to the context. If ``False``, the
- ``None`` queryset will be used as the object list. By default, this is
- ``False``.
- .. method:: get_make_object_list()
- Determine if an object list will be returned as part of the context.
- Returns :attr:`~YearArchiveView.make_object_list` by default.
- **Context**
- In addition to the context provided by
- :class:`django.views.generic.list.MultipleObjectMixin` (via
- :class:`django.views.generic.dates.BaseDateListView`), the template's
- context will be:
- * ``date_list``: A
- :meth:`DateQuerySet<django.db.models.query.QuerySet.dates>` object object
- containing all months that have objects available according to
- ``queryset``, represented as
- :class:`datetime.datetime<python:datetime.datetime>` objects, in
- ascending order.
- * ``year``: A :class:`~datetime.date` object
- representing the given year.
- * ``next_year``: A :class:`~datetime.date` object
- representing the first day of the next year, according to
- :attr:`~BaseDateListView.allow_empty` and
- :attr:`~DateMixin.allow_future`.
- * ``previous_year``: A :class:`~datetime.date` object
- representing the first day of the previous year, according to
- :attr:`~BaseDateListView.allow_empty` and
- :attr:`~DateMixin.allow_future`.
- **Notes**
- * Uses a default ``template_name_suffix`` of ``_archive_year``.
- MonthArchiveView
- ----------------
- .. class:: MonthArchiveView
- A monthly archive page showing all objects in a given month. Objects with a
- date in the *future* are not displayed unless you set ``allow_future`` to
- ``True``.
- **Ancestors (MRO)**
- * :class:`django.views.generic.dates.MonthArchiveView`
- * :class:`django.views.generic.list.MultipleObjectTemplateResponseMixin`
- * :class:`django.views.generic.base.TemplateResponseMixin`
- * :class:`django.views.generic.dates.BaseMonthArchiveView`
- * :class:`django.views.generic.dates.YearMixin`
- * :class:`django.views.generic.dates.MonthMixin`
- * :class:`django.views.generic.dates.BaseDateListView`
- * :class:`django.views.generic.list.MultipleObjectMixin`
- * :class:`django.views.generic.dates.DateMixin`
- * :class:`django.views.generic.base.View`
- **Context**
- In addition to the context provided by
- :class:`~django.views.generic.list.MultipleObjectMixin` (via
- :class:`~django.views.generic.dates.BaseDateListView`), the template's
- context will be:
- * ``date_list``: A
- :meth:`DateQuerySet<django.db.models.query.QuerySet.dates>` object
- containing all days that have objects available in the given month,
- according to ``queryset``, represented as
- :class:`datetime.datetime<python:datetime.datetime>` objects, in
- ascending order.
- * ``month``: A :class:`~datetime.date` object
- representing the given month.
- * ``next_month``: A :class:`~datetime.date` object
- representing the first day of the next month, according to
- :attr:`~BaseDateListView.allow_empty` and
- :attr:`~DateMixin.allow_future`.
- * ``previous_month``: A :class:`~datetime.date` object
- representing the first day of the previous month, according to
- :attr:`~BaseDateListView.allow_empty` and
- :attr:`~DateMixin.allow_future`.
- **Notes**
- * Uses a default ``template_name_suffix`` of ``_archive_month``.
- WeekArchiveView
- ---------------
- .. class:: WeekArchiveView
- A weekly archive page showing all objects in a given week. Objects with a
- date in the *future* are not displayed unless you set ``allow_future`` to
- ``True``.
- **Ancestors (MRO)**
- * :class:`django.views.generic.dates.WeekArchiveView`
- * :class:`django.views.generic.list.MultipleObjectTemplateResponseMixin`
- * :class:`django.views.generic.base.TemplateResponseMixin`
- * :class:`django.views.generic.dates.BaseWeekArchiveView`
- * :class:`django.views.generic.dates.YearMixin`
- * :class:`django.views.generic.dates.WeekMixin`
- * :class:`django.views.generic.dates.BaseDateListView`
- * :class:`django.views.generic.list.MultipleObjectMixin`
- * :class:`django.views.generic.dates.DateMixin`
- * :class:`django.views.generic.base.View`
- **Context**
- In addition to the context provided by
- :class:`~django.views.generic.list.MultipleObjectMixin` (via
- :class:`~django.views.generic.dates.BaseDateListView`), the template's
- context will be:
- * ``week``: A :class:`~datetime.date` object
- representing the first day of the given week.
- * ``next_week``: A :class:`~datetime.date` object
- representing the first day of the next week, according to
- :attr:`~BaseDateListView.allow_empty` and
- :attr:`~DateMixin.allow_future`.
- * ``previous_week``: A :class:`~datetime.date` object
- representing the first day of the previous week, according to
- :attr:`~BaseDateListView.allow_empty` and
- :attr:`~DateMixin.allow_future`.
- **Notes**
- * Uses a default ``template_name_suffix`` of ``_archive_week``.
- DayArchiveView
- --------------
- .. class:: DayArchiveView
- A day archive page showing all objects in a given day. Days in the future
- throw a 404 error, regardless of whether any objects exist for future days,
- unless you set ``allow_future`` to ``True``.
- **Ancestors (MRO)**
- * :class:`django.views.generic.dates.DayArchiveView`
- * :class:`django.views.generic.list.MultipleObjectTemplateResponseMixin`
- * :class:`django.views.generic.base.TemplateResponseMixin`
- * :class:`django.views.generic.dates.BaseDayArchiveView`
- * :class:`django.views.generic.dates.YearMixin`
- * :class:`django.views.generic.dates.MonthMixin`
- * :class:`django.views.generic.dates.DayMixin`
- * :class:`django.views.generic.dates.BaseDateListView`
- * :class:`django.views.generic.list.MultipleObjectMixin`
- * :class:`django.views.generic.dates.DateMixin`
- * :class:`django.views.generic.base.View`
- **Context**
- In addition to the context provided by
- :class:`~django.views.generic.list.MultipleObjectMixin` (via
- :class:`~django.views.generic.dates.BaseDateListView`), the template's
- context will be:
- * ``day``: A :class:`~datetime.date` object
- representing the given day.
- * ``next_day``: A :class:`~datetime.date` object
- representing the next day, according to
- :attr:`~BaseDateListView.allow_empty` and
- :attr:`~DateMixin.allow_future`.
- * ``previous_day``: A :class:`~datetime.date` object
- representing the previous day, according to
- :attr:`~BaseDateListView.allow_empty` and
- :attr:`~DateMixin.allow_future`.
- * ``next_month``: A :class:`~datetime.date` object
- representing the first day of the next month, according to
- :attr:`~BaseDateListView.allow_empty` and
- :attr:`~DateMixin.allow_future`.
- * ``previous_month``: A :class:`~datetime.date` object
- representing the first day of the previous month, according to
- :attr:`~BaseDateListView.allow_empty` and
- :attr:`~DateMixin.allow_future`.
- **Notes**
- * Uses a default ``template_name_suffix`` of ``_archive_day``.
- TodayArchiveView
- ----------------
- .. class:: TodayArchiveView
- A day archive page showing all objects for *today*. This is exactly the
- same as :class:`django.views.generic.dates.DayArchiveView`, except today's
- date is used instead of the ``year``/``month``/``day`` arguments.
- **Ancestors (MRO)**
- * :class:`django.views.generic.dates.TodayArchiveView`
- * :class:`django.views.generic.list.MultipleObjectTemplateResponseMixin`
- * :class:`django.views.generic.base.TemplateResponseMixin`
- * :class:`django.views.generic.dates.BaseTodayArchiveView`
- * :class:`django.views.generic.dates.BaseDayArchiveView`
- * :class:`django.views.generic.dates.YearMixin`
- * :class:`django.views.generic.dates.MonthMixin`
- * :class:`django.views.generic.dates.DayMixin`
- * :class:`django.views.generic.dates.BaseDateListView`
- * :class:`django.views.generic.list.MultipleObjectMixin`
- * :class:`django.views.generic.dates.DateMixin`
- * :class:`django.views.generic.base.View`
- DateDetailView
- --------------
- .. class:: DateDetailView
- A page representing an individual object. If the object has a date value in
- the future, the view will throw a 404 error by default, unless you set
- ``allow_future`` to ``True``.
- **Ancestors (MRO)**
- * :class:`django.views.generic.dates.DateDetailView`
- * :class:`django.views.generic.detail.SingleObjectTemplateResponseMixin`
- * :class:`django.views.generic.base.TemplateResponseMixin`
- * :class:`django.views.generic.dates.BaseDateDetailView`
- * :class:`django.views.generic.dates.YearMixin`
- * :class:`django.views.generic.dates.MonthMixin`
- * :class:`django.views.generic.dates.DayMixin`
- * :class:`django.views.generic.dates.DateMixin`
- * :class:`django.views.generic.detail.BaseDetailView`
- * :class:`django.views.generic.detail.SingleObjectMixin`
- * :class:`django.views.generic.base.View`
- .. note::
- All of the generic views listed above have matching ``Base`` views that
- only differ in that the they do not include the
- :class:`~django.views.generic.detail.SingleObjectTemplateResponseMixin`:
- .. class:: BaseArchiveIndexView
- .. class:: BaseYearArchiveView
- .. class:: BaseMonthArchiveView
- .. class:: BaseWeekArchiveView
- .. class:: BaseDayArchiveView
- .. class:: BaseTodayArchiveView
- .. class:: BaseDateDetailView
|