{"title":"Generic date views","version":"2.2","locale":"en","docname":"ref/class-based-views/generic-date-based","url":"/en/2.2/ref/class-based-views/generic-date-based/","canonical":"https://djangodocs.dev/en/2.2/ref/class-based-views/generic-date-based/","summary":"Date-based generic views, provided in django.views.generic.dates, are views for displaying drilldown pages for date-based data.","html":"<span id=\"generic-date-views\"></span><h1>Generic date views<a class=\"heading-anchor\" href=\"#module-django.views.generic.dates\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Date-based generic views, provided in <a class=\"reference internal\" href=\"#module-django.views.generic.dates\" title=\"django.views.generic.dates\"><code class=\"xref py py-mod docutils literal notranslate\">django.views.generic.dates</code></a>, are\nviews for displaying drilldown pages for date-based data.</p>\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>Some of the examples on this page assume that an <code class=\"docutils literal notranslate\">Article</code> model has been\ndefined as follows in <code class=\"docutils literal notranslate\">myapp/models.py</code>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n<span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> reverse\n\n<span class=\"k\">class</span> <span class=\"nc\">Article</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    title <span class=\"o\">=</span> models<span class=\"o\">.</span>CharField<span class=\"p\">(</span>max_length<span class=\"o\">=</span><span class=\"mi\">200</span><span class=\"p\">)</span>\n    pub_date <span class=\"o\">=</span> models<span class=\"o\">.</span>DateField<span class=\"p\">()</span>\n\n    <span class=\"k\">def</span> <span class=\"nf\">get_absolute_url</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> reverse<span class=\"p\">(</span><span class=\"s1\">&#39;article-detail&#39;</span><span class=\"p\">,</span> kwargs<span class=\"o\">=</span><span class=\"p\">{</span><span class=\"s1\">&#39;pk&#39;</span><span class=\"p\">:</span> <span class=\"bp\">self</span><span class=\"o\">.</span>pk<span class=\"p\">})</span>\n</code></pre></div>\n</aside>\n<section id=\"archiveindexview\">\n<h2><code class=\"docutils literal notranslate\">ArchiveIndexView</code><a class=\"heading-anchor\" href=\"#archiveindexview\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.dates.ArchiveIndexView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">ArchiveIndexView</span><a class=\"heading-anchor\" href=\"#django.views.generic.dates.ArchiveIndexView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A top-level index page showing the “latest” objects, by date. Objects with\na date in the <em>future</em> are not included unless you set <code class=\"docutils literal notranslate\">allow_future</code> to\n<code class=\"docutils literal notranslate\">True</code>.</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectTemplateResponseMixin\" title=\"django.views.generic.list.MultipleObjectTemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.list.MultipleObjectTemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.TemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.dates.BaseArchiveIndexView\" title=\"django.views.generic.dates.BaseArchiveIndexView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.BaseArchiveIndexView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView\" title=\"django.views.generic.dates.BaseDateListView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.BaseDateListView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectMixin\" title=\"django.views.generic.list.MultipleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.list.MultipleObjectMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DateMixin\" title=\"django.views.generic.dates.DateMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.DateMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/base/#django.views.generic.base.View\" title=\"django.views.generic.base.View\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.View</code></a></p></li>\n</ul>\n<p><strong>Context</strong></p>\n<p>In addition to the context provided by\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectMixin\" title=\"django.views.generic.list.MultipleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.list.MultipleObjectMixin</code></a> (via\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView\" title=\"django.views.generic.dates.BaseDateListView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.BaseDateListView</code></a>), the template’s\ncontext will be:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">date_list</code>: A <a class=\"reference internal\" href=\"/en/2.2/ref/models/querysets/#django.db.models.query.QuerySet.dates\" title=\"django.db.models.query.QuerySet.dates\"><code class=\"xref py py-meth docutils literal notranslate\">QuerySet</code></a>\nobject containing all years that have objects available according to\n<code class=\"docutils literal notranslate\">queryset</code>, represented as <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime.datetime</code></a> objects, in\ndescending order.</p></li>\n</ul>\n<p><strong>Notes</strong></p>\n<ul class=\"simple\">\n<li><p>Uses a default <code class=\"docutils literal notranslate\">context_object_name</code> of <code class=\"docutils literal notranslate\">latest</code>.</p></li>\n<li><p>Uses a default <code class=\"docutils literal notranslate\">template_name_suffix</code> of <code class=\"docutils literal notranslate\">_archive</code>.</p></li>\n<li><p>Defaults to providing <code class=\"docutils literal notranslate\">date_list</code> by year, but this can be altered to\nmonth or day using the attribute <code class=\"docutils literal notranslate\">date_list_period</code>. This also applies\nto all subclass views.</p></li>\n</ul>\n<p><strong>Example myapp/urls.py</strong>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> path\n<span class=\"kn\">from</span> <span class=\"nn\">django.views.generic.dates</span> <span class=\"kn\">import</span> ArchiveIndexView\n\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.models</span> <span class=\"kn\">import</span> Article\n\nurlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;archive/&#39;</span><span class=\"p\">,</span>\n         ArchiveIndexView<span class=\"o\">.</span>as_view<span class=\"p\">(</span>model<span class=\"o\">=</span>Article<span class=\"p\">,</span> date_field<span class=\"o\">=</span><span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">),</span>\n         name<span class=\"o\">=</span><span class=\"s2\">&quot;article_archive&quot;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p><strong>Example myapp/article_archive.html</strong>:</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">article</span> <span class=\"k\">in</span> <span class=\"nv\">latest</span> <span class=\"cp\">%}</span>\n        <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">article.pub_date</span> <span class=\"cp\">}}</span>: <span class=\"cp\">{{</span> <span class=\"nv\">article.title</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>This will output all articles.</p>\n</dd></dl>\n\n</section>\n<section id=\"yeararchiveview\">\n<h2><code class=\"docutils literal notranslate\">YearArchiveView</code><a class=\"heading-anchor\" href=\"#yeararchiveview\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.dates.YearArchiveView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">YearArchiveView</span><a class=\"heading-anchor\" href=\"#django.views.generic.dates.YearArchiveView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A yearly archive page showing all available months in a given year. Objects\nwith a date in the <em>future</em> are not displayed unless you set\n<code class=\"docutils literal notranslate\">allow_future</code> to <code class=\"docutils literal notranslate\">True</code>.</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectTemplateResponseMixin\" title=\"django.views.generic.list.MultipleObjectTemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.list.MultipleObjectTemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.TemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.dates.BaseYearArchiveView\" title=\"django.views.generic.dates.BaseYearArchiveView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.BaseYearArchiveView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.YearMixin\" title=\"django.views.generic.dates.YearMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.YearMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView\" title=\"django.views.generic.dates.BaseDateListView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.BaseDateListView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectMixin\" title=\"django.views.generic.list.MultipleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.list.MultipleObjectMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DateMixin\" title=\"django.views.generic.dates.DateMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.DateMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/base/#django.views.generic.base.View\" title=\"django.views.generic.base.View\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.View</code></a></p></li>\n</ul>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.dates.YearArchiveView.make_object_list\">\n<span class=\"sig-name descname\">make_object_list</span><a class=\"heading-anchor\" href=\"#django.views.generic.dates.YearArchiveView.make_object_list\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A boolean specifying whether to retrieve the full list of objects for\nthis year and pass those to the template. If <code class=\"docutils literal notranslate\">True</code>, the list of\nobjects will be made available to the context. If <code class=\"docutils literal notranslate\">False</code>, the\n<code class=\"docutils literal notranslate\">None</code> queryset will be used as the object list. By default, this is\n<code class=\"docutils literal notranslate\">False</code>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.dates.YearArchiveView.get_make_object_list\">\n<span class=\"sig-name descname\">get_make_object_list</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.views.generic.dates.YearArchiveView.get_make_object_list\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Determine if an object list will be returned as part of the context.\nReturns <a class=\"reference internal\" href=\"#django.views.generic.dates.YearArchiveView.make_object_list\" title=\"django.views.generic.dates.YearArchiveView.make_object_list\"><code class=\"xref py py-attr docutils literal notranslate\">make_object_list</code></a> by default.</p>\n</dd></dl>\n\n<p><strong>Context</strong></p>\n<p>In addition to the context provided by\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectMixin\" title=\"django.views.generic.list.MultipleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.list.MultipleObjectMixin</code></a> (via\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView\" title=\"django.views.generic.dates.BaseDateListView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.BaseDateListView</code></a>), the template’s\ncontext will be:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">date_list</code>: A <a class=\"reference internal\" href=\"/en/2.2/ref/models/querysets/#django.db.models.query.QuerySet.dates\" title=\"django.db.models.query.QuerySet.dates\"><code class=\"xref py py-meth docutils literal notranslate\">QuerySet</code></a>\nobject containing all months that have objects available according to\n<code class=\"docutils literal notranslate\">queryset</code>, represented as <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime.datetime</code></a> objects, in\nascending order.</p></li>\n<li><p><code class=\"docutils literal notranslate\">year</code>: A <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.date\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">date</code></a> object\nrepresenting the given year.</p></li>\n<li><p><code class=\"docutils literal notranslate\">next_year</code>: A <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.date\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">date</code></a> object\nrepresenting the first day of the next year, according to\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView.allow_empty\" title=\"django.views.generic.dates.BaseDateListView.allow_empty\"><code class=\"xref py py-attr docutils literal notranslate\">allow_empty</code></a> and\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DateMixin.allow_future\" title=\"django.views.generic.dates.DateMixin.allow_future\"><code class=\"xref py py-attr docutils literal notranslate\">allow_future</code></a>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">previous_year</code>: A <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.date\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">date</code></a> object\nrepresenting the first day of the previous year, according to\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView.allow_empty\" title=\"django.views.generic.dates.BaseDateListView.allow_empty\"><code class=\"xref py py-attr docutils literal notranslate\">allow_empty</code></a> and\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DateMixin.allow_future\" title=\"django.views.generic.dates.DateMixin.allow_future\"><code class=\"xref py py-attr docutils literal notranslate\">allow_future</code></a>.</p></li>\n</ul>\n<p><strong>Notes</strong></p>\n<ul class=\"simple\">\n<li><p>Uses a default <code class=\"docutils literal notranslate\">template_name_suffix</code> of <code class=\"docutils literal notranslate\">_archive_year</code>.</p></li>\n</ul>\n<p><strong>Example myapp/views.py</strong>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.views.generic.dates</span> <span class=\"kn\">import</span> YearArchiveView\n\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.models</span> <span class=\"kn\">import</span> Article\n\n<span class=\"k\">class</span> <span class=\"nc\">ArticleYearArchiveView</span><span class=\"p\">(</span>YearArchiveView<span class=\"p\">):</span>\n    queryset <span class=\"o\">=</span> Article<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()</span>\n    date_field <span class=\"o\">=</span> <span class=\"s2\">&quot;pub_date&quot;</span>\n    make_object_list <span class=\"o\">=</span> <span class=\"kc\">True</span>\n    allow_future <span class=\"o\">=</span> <span class=\"kc\">True</span>\n</code></pre></div>\n<p><strong>Example myapp/urls.py</strong>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> path\n\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.views</span> <span class=\"kn\">import</span> ArticleYearArchiveView\n\nurlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;&lt;int:year&gt;/&#39;</span><span class=\"p\">,</span>\n         ArticleYearArchiveView<span class=\"o\">.</span>as_view<span class=\"p\">(),</span>\n         name<span class=\"o\">=</span><span class=\"s2\">&quot;article_year_archive&quot;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p><strong>Example myapp/article_archive_year.html</strong>:</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">date</span> <span class=\"k\">in</span> <span class=\"nv\">date_list</span> <span class=\"cp\">%}</span>\n        <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">date</span><span class=\"o\">|</span><span class=\"nf\">date</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n\n<span class=\"p\">&lt;</span><span class=\"nt\">div</span><span class=\"p\">&gt;</span>\n    <span class=\"p\">&lt;</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span>All Articles for <span class=\"cp\">{{</span> <span class=\"nv\">year</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;Y&quot;</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">obj</span> <span class=\"k\">in</span> <span class=\"nv\">object_list</span> <span class=\"cp\">%}</span>\n        <span class=\"p\">&lt;</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n            <span class=\"cp\">{{</span> <span class=\"nv\">obj.title</span> <span class=\"cp\">}}</span> - <span class=\"cp\">{{</span> <span class=\"nv\">obj.pub_date</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;F j, Y&quot;</span> <span class=\"cp\">}}</span>\n        <span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">div</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"montharchiveview\">\n<h2><code class=\"docutils literal notranslate\">MonthArchiveView</code><a class=\"heading-anchor\" href=\"#montharchiveview\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.dates.MonthArchiveView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">MonthArchiveView</span><a class=\"heading-anchor\" href=\"#django.views.generic.dates.MonthArchiveView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A monthly archive page showing all objects in a given month. Objects with a\ndate in the <em>future</em> are not displayed unless you set <code class=\"docutils literal notranslate\">allow_future</code> to\n<code class=\"docutils literal notranslate\">True</code>.</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectTemplateResponseMixin\" title=\"django.views.generic.list.MultipleObjectTemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.list.MultipleObjectTemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.TemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.dates.BaseMonthArchiveView\" title=\"django.views.generic.dates.BaseMonthArchiveView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.BaseMonthArchiveView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.YearMixin\" title=\"django.views.generic.dates.YearMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.YearMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.MonthMixin\" title=\"django.views.generic.dates.MonthMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.MonthMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView\" title=\"django.views.generic.dates.BaseDateListView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.BaseDateListView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectMixin\" title=\"django.views.generic.list.MultipleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.list.MultipleObjectMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DateMixin\" title=\"django.views.generic.dates.DateMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.DateMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/base/#django.views.generic.base.View\" title=\"django.views.generic.base.View\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.View</code></a></p></li>\n</ul>\n<p><strong>Context</strong></p>\n<p>In addition to the context provided by\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectMixin\" title=\"django.views.generic.list.MultipleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\">MultipleObjectMixin</code></a> (via\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView\" title=\"django.views.generic.dates.BaseDateListView\"><code class=\"xref py py-class docutils literal notranslate\">BaseDateListView</code></a>), the template’s\ncontext will be:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">date_list</code>: A <a class=\"reference internal\" href=\"/en/2.2/ref/models/querysets/#django.db.models.query.QuerySet.dates\" title=\"django.db.models.query.QuerySet.dates\"><code class=\"xref py py-meth docutils literal notranslate\">QuerySet</code></a>\nobject containing all days that have objects available in the given month,\naccording to <code class=\"docutils literal notranslate\">queryset</code>, represented as <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">datetime.datetime</code></a>\nobjects, in ascending order.</p></li>\n<li><p><code class=\"docutils literal notranslate\">month</code>: A <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.date\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">date</code></a> object\nrepresenting the given month.</p></li>\n<li><p><code class=\"docutils literal notranslate\">next_month</code>: A <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.date\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">date</code></a> object\nrepresenting the first day of the next month, according to\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView.allow_empty\" title=\"django.views.generic.dates.BaseDateListView.allow_empty\"><code class=\"xref py py-attr docutils literal notranslate\">allow_empty</code></a> and\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DateMixin.allow_future\" title=\"django.views.generic.dates.DateMixin.allow_future\"><code class=\"xref py py-attr docutils literal notranslate\">allow_future</code></a>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">previous_month</code>: A <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.date\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">date</code></a> object\nrepresenting the first day of the previous month, according to\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView.allow_empty\" title=\"django.views.generic.dates.BaseDateListView.allow_empty\"><code class=\"xref py py-attr docutils literal notranslate\">allow_empty</code></a> and\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DateMixin.allow_future\" title=\"django.views.generic.dates.DateMixin.allow_future\"><code class=\"xref py py-attr docutils literal notranslate\">allow_future</code></a>.</p></li>\n</ul>\n<p><strong>Notes</strong></p>\n<ul class=\"simple\">\n<li><p>Uses a default <code class=\"docutils literal notranslate\">template_name_suffix</code> of <code class=\"docutils literal notranslate\">_archive_month</code>.</p></li>\n</ul>\n<p><strong>Example myapp/views.py</strong>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.views.generic.dates</span> <span class=\"kn\">import</span> MonthArchiveView\n\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.models</span> <span class=\"kn\">import</span> Article\n\n<span class=\"k\">class</span> <span class=\"nc\">ArticleMonthArchiveView</span><span class=\"p\">(</span>MonthArchiveView<span class=\"p\">):</span>\n    queryset <span class=\"o\">=</span> Article<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()</span>\n    date_field <span class=\"o\">=</span> <span class=\"s2\">&quot;pub_date&quot;</span>\n    allow_future <span class=\"o\">=</span> <span class=\"kc\">True</span>\n</code></pre></div>\n<p><strong>Example myapp/urls.py</strong>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> path\n\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.views</span> <span class=\"kn\">import</span> ArticleMonthArchiveView\n\nurlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"c1\"># Example: /2012/08/</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;&lt;int:year&gt;/&lt;int:month&gt;/&#39;</span><span class=\"p\">,</span>\n         ArticleMonthArchiveView<span class=\"o\">.</span>as_view<span class=\"p\">(</span>month_format<span class=\"o\">=</span><span class=\"s1\">&#39;%m&#39;</span><span class=\"p\">),</span>\n         name<span class=\"o\">=</span><span class=\"s2\">&quot;archive_month_numeric&quot;</span><span class=\"p\">),</span>\n    <span class=\"c1\"># Example: /2012/aug/</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;&lt;int:year&gt;/&lt;str:month&gt;/&#39;</span><span class=\"p\">,</span>\n         ArticleMonthArchiveView<span class=\"o\">.</span>as_view<span class=\"p\">(),</span>\n         name<span class=\"o\">=</span><span class=\"s2\">&quot;archive_month&quot;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p><strong>Example myapp/article_archive_month.html</strong>:</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">article</span> <span class=\"k\">in</span> <span class=\"nv\">object_list</span> <span class=\"cp\">%}</span>\n        <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">article.pub_date</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;F j, Y&quot;</span> <span class=\"cp\">}}</span>: <span class=\"cp\">{{</span> <span class=\"nv\">article.title</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n\n<span class=\"p\">&lt;</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">previous_month</span> <span class=\"cp\">%}</span>\n        Previous Month: <span class=\"cp\">{{</span> <span class=\"nv\">previous_month</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;F Y&quot;</span> <span class=\"cp\">}}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">next_month</span> <span class=\"cp\">%}</span>\n        Next Month: <span class=\"cp\">{{</span> <span class=\"nv\">next_month</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;F Y&quot;</span> <span class=\"cp\">}}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"weekarchiveview\">\n<h2><code class=\"docutils literal notranslate\">WeekArchiveView</code><a class=\"heading-anchor\" href=\"#weekarchiveview\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.dates.WeekArchiveView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">WeekArchiveView</span><a class=\"heading-anchor\" href=\"#django.views.generic.dates.WeekArchiveView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A weekly archive page showing all objects in a given week. Objects with a\ndate in the <em>future</em> are not displayed unless you set <code class=\"docutils literal notranslate\">allow_future</code> to\n<code class=\"docutils literal notranslate\">True</code>.</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectTemplateResponseMixin\" title=\"django.views.generic.list.MultipleObjectTemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.list.MultipleObjectTemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.TemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.dates.BaseWeekArchiveView\" title=\"django.views.generic.dates.BaseWeekArchiveView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.BaseWeekArchiveView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.YearMixin\" title=\"django.views.generic.dates.YearMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.YearMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.WeekMixin\" title=\"django.views.generic.dates.WeekMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.WeekMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView\" title=\"django.views.generic.dates.BaseDateListView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.BaseDateListView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectMixin\" title=\"django.views.generic.list.MultipleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.list.MultipleObjectMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DateMixin\" title=\"django.views.generic.dates.DateMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.DateMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/base/#django.views.generic.base.View\" title=\"django.views.generic.base.View\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.View</code></a></p></li>\n</ul>\n<p><strong>Context</strong></p>\n<p>In addition to the context provided by\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectMixin\" title=\"django.views.generic.list.MultipleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\">MultipleObjectMixin</code></a> (via\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView\" title=\"django.views.generic.dates.BaseDateListView\"><code class=\"xref py py-class docutils literal notranslate\">BaseDateListView</code></a>), the template’s\ncontext will be:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">week</code>: A <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.date\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">date</code></a> object\nrepresenting the first day of the given week.</p></li>\n<li><p><code class=\"docutils literal notranslate\">next_week</code>: A <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.date\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">date</code></a> object\nrepresenting the first day of the next week, according to\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView.allow_empty\" title=\"django.views.generic.dates.BaseDateListView.allow_empty\"><code class=\"xref py py-attr docutils literal notranslate\">allow_empty</code></a> and\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DateMixin.allow_future\" title=\"django.views.generic.dates.DateMixin.allow_future\"><code class=\"xref py py-attr docutils literal notranslate\">allow_future</code></a>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">previous_week</code>: A <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.date\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">date</code></a> object\nrepresenting the first day of the previous week, according to\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView.allow_empty\" title=\"django.views.generic.dates.BaseDateListView.allow_empty\"><code class=\"xref py py-attr docutils literal notranslate\">allow_empty</code></a> and\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DateMixin.allow_future\" title=\"django.views.generic.dates.DateMixin.allow_future\"><code class=\"xref py py-attr docutils literal notranslate\">allow_future</code></a>.</p></li>\n</ul>\n<p><strong>Notes</strong></p>\n<ul class=\"simple\">\n<li><p>Uses a default <code class=\"docutils literal notranslate\">template_name_suffix</code> of <code class=\"docutils literal notranslate\">_archive_week</code>.</p></li>\n<li><p>The <code class=\"docutils literal notranslate\">week_format</code> attribute is a <a class=\"reference external\" href=\"https://docs.python.org/3/library/time.html#time.strptime\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\">strptime()</code></a> format string\nused to parse the week number. The following values are supported:</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\">'%U'</code>: Based on the United States week system where the week\nbegins on Sunday. This is the default value.</p></li>\n<li><p><code class=\"docutils literal notranslate\">'%W'</code>: Similar to <code class=\"docutils literal notranslate\">'%U'</code>, except it assumes that the week\nbegins on Monday. This is not the same as the ISO 8601 week number.</p></li>\n</ul>\n</li>\n</ul>\n<p><strong>Example myapp/views.py</strong>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.views.generic.dates</span> <span class=\"kn\">import</span> WeekArchiveView\n\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.models</span> <span class=\"kn\">import</span> Article\n\n<span class=\"k\">class</span> <span class=\"nc\">ArticleWeekArchiveView</span><span class=\"p\">(</span>WeekArchiveView<span class=\"p\">):</span>\n    queryset <span class=\"o\">=</span> Article<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()</span>\n    date_field <span class=\"o\">=</span> <span class=\"s2\">&quot;pub_date&quot;</span>\n    week_format <span class=\"o\">=</span> <span class=\"s2\">&quot;%W&quot;</span>\n    allow_future <span class=\"o\">=</span> <span class=\"kc\">True</span>\n</code></pre></div>\n<p><strong>Example myapp/urls.py</strong>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> path\n\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.views</span> <span class=\"kn\">import</span> ArticleWeekArchiveView\n\nurlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"c1\"># Example: /2012/week/23/</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;&lt;int:year&gt;/week/&lt;int:week&gt;/&#39;</span><span class=\"p\">,</span>\n         ArticleWeekArchiveView<span class=\"o\">.</span>as_view<span class=\"p\">(),</span>\n         name<span class=\"o\">=</span><span class=\"s2\">&quot;archive_week&quot;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p><strong>Example myapp/article_archive_week.html</strong>:</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span>Week <span class=\"cp\">{{</span> <span class=\"nv\">week</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s1\">:&#39;W&#39;</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span>\n\n<span class=\"p\">&lt;</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">article</span> <span class=\"k\">in</span> <span class=\"nv\">object_list</span> <span class=\"cp\">%}</span>\n        <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">article.pub_date</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;F j, Y&quot;</span> <span class=\"cp\">}}</span>: <span class=\"cp\">{{</span> <span class=\"nv\">article.title</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n\n<span class=\"p\">&lt;</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">previous_week</span> <span class=\"cp\">%}</span>\n        Previous Week: <span class=\"cp\">{{</span> <span class=\"nv\">previous_week</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;W&quot;</span> <span class=\"cp\">}}</span> of year <span class=\"cp\">{{</span> <span class=\"nv\">previous_week</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;Y&quot;</span> <span class=\"cp\">}}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">previous_week</span> <span class=\"k\">and</span> <span class=\"nv\">next_week</span> <span class=\"cp\">%}</span>--<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">next_week</span> <span class=\"cp\">%}</span>\n        Next week: <span class=\"cp\">{{</span> <span class=\"nv\">next_week</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;W&quot;</span> <span class=\"cp\">}}</span> of year <span class=\"cp\">{{</span> <span class=\"nv\">next_week</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;Y&quot;</span> <span class=\"cp\">}}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n<p>In this example, you are outputting the week number. Keep in mind that week\nnumbers computed by the <a class=\"reference internal\" href=\"/en/2.2/ref/templates/builtins/#std-templatefilter-date\"><code class=\"xref std std-tfilter docutils literal notranslate\">date</code></a> template filter with the <code class=\"docutils literal notranslate\">'W'</code>\nformat character are not always the same as those computed by\n<a class=\"reference external\" href=\"https://docs.python.org/3/library/time.html#time.strftime\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\">strftime()</code></a> and <a class=\"reference external\" href=\"https://docs.python.org/3/library/time.html#time.strptime\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\">strptime()</code></a> with the <code class=\"docutils literal notranslate\">'%W'</code> format\nstring. For year 2015, for example, week numbers output by <a class=\"reference internal\" href=\"/en/2.2/ref/templates/builtins/#std-templatefilter-date\"><code class=\"xref std std-tfilter docutils literal notranslate\">date</code></a>\nare higher by one compared to those output by <a class=\"reference external\" href=\"https://docs.python.org/3/library/time.html#time.strftime\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\">strftime()</code></a>. There\nisn’t an equivalent for the <code class=\"docutils literal notranslate\">'%U'</code> <a class=\"reference external\" href=\"https://docs.python.org/3/library/time.html#time.strftime\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\">strftime()</code></a> format string\nin <a class=\"reference internal\" href=\"/en/2.2/ref/templates/builtins/#std-templatefilter-date\"><code class=\"xref std std-tfilter docutils literal notranslate\">date</code></a>. Therefore, you should avoid using <a class=\"reference internal\" href=\"/en/2.2/ref/templates/builtins/#std-templatefilter-date\"><code class=\"xref std std-tfilter docutils literal notranslate\">date</code></a> to\ngenerate URLs for <code class=\"docutils literal notranslate\">WeekArchiveView</code>.</p>\n</dd></dl>\n\n</section>\n<section id=\"dayarchiveview\">\n<h2><code class=\"docutils literal notranslate\">DayArchiveView</code><a class=\"heading-anchor\" href=\"#dayarchiveview\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.dates.DayArchiveView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">DayArchiveView</span><a class=\"heading-anchor\" href=\"#django.views.generic.dates.DayArchiveView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A day archive page showing all objects in a given day. Days in the future\nthrow a 404 error, regardless of whether any objects exist for future days,\nunless you set <code class=\"docutils literal notranslate\">allow_future</code> to <code class=\"docutils literal notranslate\">True</code>.</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectTemplateResponseMixin\" title=\"django.views.generic.list.MultipleObjectTemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.list.MultipleObjectTemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.TemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.dates.BaseDayArchiveView\" title=\"django.views.generic.dates.BaseDayArchiveView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.BaseDayArchiveView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.YearMixin\" title=\"django.views.generic.dates.YearMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.YearMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.MonthMixin\" title=\"django.views.generic.dates.MonthMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.MonthMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DayMixin\" title=\"django.views.generic.dates.DayMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.DayMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView\" title=\"django.views.generic.dates.BaseDateListView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.BaseDateListView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectMixin\" title=\"django.views.generic.list.MultipleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.list.MultipleObjectMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DateMixin\" title=\"django.views.generic.dates.DateMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.DateMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/base/#django.views.generic.base.View\" title=\"django.views.generic.base.View\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.View</code></a></p></li>\n</ul>\n<p><strong>Context</strong></p>\n<p>In addition to the context provided by\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectMixin\" title=\"django.views.generic.list.MultipleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\">MultipleObjectMixin</code></a> (via\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView\" title=\"django.views.generic.dates.BaseDateListView\"><code class=\"xref py py-class docutils literal notranslate\">BaseDateListView</code></a>), the template’s\ncontext will be:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\">day</code>: A <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.date\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">date</code></a> object\nrepresenting the given day.</p></li>\n<li><p><code class=\"docutils literal notranslate\">next_day</code>: A <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.date\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">date</code></a> object\nrepresenting the next day, according to\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView.allow_empty\" title=\"django.views.generic.dates.BaseDateListView.allow_empty\"><code class=\"xref py py-attr docutils literal notranslate\">allow_empty</code></a> and\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DateMixin.allow_future\" title=\"django.views.generic.dates.DateMixin.allow_future\"><code class=\"xref py py-attr docutils literal notranslate\">allow_future</code></a>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">previous_day</code>: A <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.date\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">date</code></a> object\nrepresenting the previous day, according to\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView.allow_empty\" title=\"django.views.generic.dates.BaseDateListView.allow_empty\"><code class=\"xref py py-attr docutils literal notranslate\">allow_empty</code></a> and\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DateMixin.allow_future\" title=\"django.views.generic.dates.DateMixin.allow_future\"><code class=\"xref py py-attr docutils literal notranslate\">allow_future</code></a>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">next_month</code>: A <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.date\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">date</code></a> object\nrepresenting the first day of the next month, according to\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView.allow_empty\" title=\"django.views.generic.dates.BaseDateListView.allow_empty\"><code class=\"xref py py-attr docutils literal notranslate\">allow_empty</code></a> and\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DateMixin.allow_future\" title=\"django.views.generic.dates.DateMixin.allow_future\"><code class=\"xref py py-attr docutils literal notranslate\">allow_future</code></a>.</p></li>\n<li><p><code class=\"docutils literal notranslate\">previous_month</code>: A <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.date\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\">date</code></a> object\nrepresenting the first day of the previous month, according to\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView.allow_empty\" title=\"django.views.generic.dates.BaseDateListView.allow_empty\"><code class=\"xref py py-attr docutils literal notranslate\">allow_empty</code></a> and\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DateMixin.allow_future\" title=\"django.views.generic.dates.DateMixin.allow_future\"><code class=\"xref py py-attr docutils literal notranslate\">allow_future</code></a>.</p></li>\n</ul>\n<p><strong>Notes</strong></p>\n<ul class=\"simple\">\n<li><p>Uses a default <code class=\"docutils literal notranslate\">template_name_suffix</code> of <code class=\"docutils literal notranslate\">_archive_day</code>.</p></li>\n</ul>\n<p><strong>Example myapp/views.py</strong>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.views.generic.dates</span> <span class=\"kn\">import</span> DayArchiveView\n\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.models</span> <span class=\"kn\">import</span> Article\n\n<span class=\"k\">class</span> <span class=\"nc\">ArticleDayArchiveView</span><span class=\"p\">(</span>DayArchiveView<span class=\"p\">):</span>\n    queryset <span class=\"o\">=</span> Article<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()</span>\n    date_field <span class=\"o\">=</span> <span class=\"s2\">&quot;pub_date&quot;</span>\n    allow_future <span class=\"o\">=</span> <span class=\"kc\">True</span>\n</code></pre></div>\n<p><strong>Example myapp/urls.py</strong>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> path\n\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.views</span> <span class=\"kn\">import</span> ArticleDayArchiveView\n\nurlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    <span class=\"c1\"># Example: /2012/nov/10/</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;&lt;int:year&gt;/&lt;str:month&gt;/&lt;int:day&gt;/&#39;</span><span class=\"p\">,</span>\n         ArticleDayArchiveView<span class=\"o\">.</span>as_view<span class=\"p\">(),</span>\n         name<span class=\"o\">=</span><span class=\"s2\">&quot;archive_day&quot;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p><strong>Example myapp/article_archive_day.html</strong>:</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">day</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span>\n\n<span class=\"p\">&lt;</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">for</span> <span class=\"nv\">article</span> <span class=\"k\">in</span> <span class=\"nv\">object_list</span> <span class=\"cp\">%}</span>\n        <span class=\"p\">&lt;</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">article.pub_date</span><span class=\"o\">|</span><span class=\"nf\">date</span><span class=\"s2\">:&quot;F j, Y&quot;</span> <span class=\"cp\">}}</span>: <span class=\"cp\">{{</span> <span class=\"nv\">article.title</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">li</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">endfor</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">ul</span><span class=\"p\">&gt;</span>\n\n<span class=\"p\">&lt;</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">previous_day</span> <span class=\"cp\">%}</span>\n        Previous Day: <span class=\"cp\">{{</span> <span class=\"nv\">previous_day</span> <span class=\"cp\">}}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">previous_day</span> <span class=\"k\">and</span> <span class=\"nv\">next_day</span> <span class=\"cp\">%}</span>--<span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">if</span> <span class=\"nv\">next_day</span> <span class=\"cp\">%}</span>\n        Next Day: <span class=\"cp\">{{</span> <span class=\"nv\">next_day</span> <span class=\"cp\">}}</span>\n    <span class=\"cp\">{%</span> <span class=\"k\">endif</span> <span class=\"cp\">%}</span>\n<span class=\"p\">&lt;/</span><span class=\"nt\">p</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n</section>\n<section id=\"todayarchiveview\">\n<h2><code class=\"docutils literal notranslate\">TodayArchiveView</code><a class=\"heading-anchor\" href=\"#todayarchiveview\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.dates.TodayArchiveView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">TodayArchiveView</span><a class=\"heading-anchor\" href=\"#django.views.generic.dates.TodayArchiveView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A day archive page showing all objects for <em>today</em>. This is exactly the\nsame as <a class=\"reference internal\" href=\"#django.views.generic.dates.DayArchiveView\" title=\"django.views.generic.dates.DayArchiveView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.DayArchiveView</code></a>, except today’s\ndate is used instead of the <code class=\"docutils literal notranslate\">year</code>/<code class=\"docutils literal notranslate\">month</code>/<code class=\"docutils literal notranslate\">day</code> arguments.</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectTemplateResponseMixin\" title=\"django.views.generic.list.MultipleObjectTemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.list.MultipleObjectTemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.TemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.dates.BaseTodayArchiveView\" title=\"django.views.generic.dates.BaseTodayArchiveView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.BaseTodayArchiveView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.dates.BaseDayArchiveView\" title=\"django.views.generic.dates.BaseDayArchiveView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.BaseDayArchiveView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.YearMixin\" title=\"django.views.generic.dates.YearMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.YearMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.MonthMixin\" title=\"django.views.generic.dates.MonthMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.MonthMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DayMixin\" title=\"django.views.generic.dates.DayMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.DayMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.BaseDateListView\" title=\"django.views.generic.dates.BaseDateListView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.BaseDateListView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectMixin\" title=\"django.views.generic.list.MultipleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.list.MultipleObjectMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DateMixin\" title=\"django.views.generic.dates.DateMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.DateMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/base/#django.views.generic.base.View\" title=\"django.views.generic.base.View\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.View</code></a></p></li>\n</ul>\n<p><strong>Notes</strong></p>\n<ul class=\"simple\">\n<li><p>Uses a default <code class=\"docutils literal notranslate\">template_name_suffix</code> of <code class=\"docutils literal notranslate\">_archive_today</code>.</p></li>\n</ul>\n<p><strong>Example myapp/views.py</strong>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.views.generic.dates</span> <span class=\"kn\">import</span> TodayArchiveView\n\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.models</span> <span class=\"kn\">import</span> Article\n\n<span class=\"k\">class</span> <span class=\"nc\">ArticleTodayArchiveView</span><span class=\"p\">(</span>TodayArchiveView<span class=\"p\">):</span>\n    queryset <span class=\"o\">=</span> Article<span class=\"o\">.</span>objects<span class=\"o\">.</span>all<span class=\"p\">()</span>\n    date_field <span class=\"o\">=</span> <span class=\"s2\">&quot;pub_date&quot;</span>\n    allow_future <span class=\"o\">=</span> <span class=\"kc\">True</span>\n</code></pre></div>\n<p><strong>Example myapp/urls.py</strong>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> path\n\n<span class=\"kn\">from</span> <span class=\"nn\">myapp.views</span> <span class=\"kn\">import</span> ArticleTodayArchiveView\n\nurlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;today/&#39;</span><span class=\"p\">,</span>\n         ArticleTodayArchiveView<span class=\"o\">.</span>as_view<span class=\"p\">(),</span>\n         name<span class=\"o\">=</span><span class=\"s2\">&quot;archive_today&quot;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<aside class=\"admonition-where-is-the-example-template-for-todayarchiveview admonition\" role=\"note\">\n<p class=\"admonition-title\">Where is the example template for <code class=\"docutils literal notranslate\">TodayArchiveView</code>?</p>\n<p>This view uses by default the same template as the\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/flattened-index/#DayArchiveView\" title=\"DayArchiveView\"><code class=\"xref py py-class docutils literal notranslate\">DayArchiveView</code></a>, which is in the previous example. If you need\na different template, set the <code class=\"docutils literal notranslate\">template_name</code> attribute to be the\nname of the new template.</p>\n</aside>\n</dd></dl>\n\n</section>\n<section id=\"datedetailview\">\n<h2><code class=\"docutils literal notranslate\">DateDetailView</code><a class=\"heading-anchor\" href=\"#datedetailview\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.dates.DateDetailView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">DateDetailView</span><a class=\"heading-anchor\" href=\"#django.views.generic.dates.DateDetailView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A page representing an individual object. If the object has a date value in\nthe future, the view will throw a 404 error by default, unless you set\n<code class=\"docutils literal notranslate\">allow_future</code> to <code class=\"docutils literal notranslate\">True</code>.</p>\n<p><strong>Ancestors (MRO)</strong></p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectTemplateResponseMixin\" title=\"django.views.generic.detail.SingleObjectTemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.detail.SingleObjectTemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-simple/#django.views.generic.base.TemplateResponseMixin\" title=\"django.views.generic.base.TemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.TemplateResponseMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.views.generic.dates.BaseDateDetailView\" title=\"django.views.generic.dates.BaseDateDetailView\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.BaseDateDetailView</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.YearMixin\" title=\"django.views.generic.dates.YearMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.YearMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.MonthMixin\" title=\"django.views.generic.dates.MonthMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.MonthMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DayMixin\" title=\"django.views.generic.dates.DayMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.DayMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-date-based/#django.views.generic.dates.DateMixin\" title=\"django.views.generic.dates.DateMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.dates.DateMixin</code></a></p></li>\n<li><p><code class=\"docutils literal notranslate\">django.views.generic.detail.BaseDetailView</code></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectMixin\" title=\"django.views.generic.detail.SingleObjectMixin\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.detail.SingleObjectMixin</code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/base/#django.views.generic.base.View\" title=\"django.views.generic.base.View\"><code class=\"xref py py-class docutils literal notranslate\">django.views.generic.base.View</code></a></p></li>\n</ul>\n<p><strong>Context</strong></p>\n<ul class=\"simple\">\n<li><p>Includes the single object associated with the <code class=\"docutils literal notranslate\">model</code> specified in\nthe <code class=\"docutils literal notranslate\">DateDetailView</code>.</p></li>\n</ul>\n<p><strong>Notes</strong></p>\n<ul class=\"simple\">\n<li><p>Uses a default <code class=\"docutils literal notranslate\">template_name_suffix</code> of <code class=\"docutils literal notranslate\">_detail</code>.</p></li>\n</ul>\n<p><strong>Example myapp/urls.py</strong>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.urls</span> <span class=\"kn\">import</span> path\n<span class=\"kn\">from</span> <span class=\"nn\">django.views.generic.dates</span> <span class=\"kn\">import</span> DateDetailView\n\nurlpatterns <span class=\"o\">=</span> <span class=\"p\">[</span>\n    path<span class=\"p\">(</span><span class=\"s1\">&#39;&lt;int:year&gt;/&lt;str:month&gt;/&lt;int:day&gt;/&lt;int:pk&gt;/&#39;</span><span class=\"p\">,</span>\n         DateDetailView<span class=\"o\">.</span>as_view<span class=\"p\">(</span>model<span class=\"o\">=</span>Article<span class=\"p\">,</span> date_field<span class=\"o\">=</span><span class=\"s2\">&quot;pub_date&quot;</span><span class=\"p\">),</span>\n         name<span class=\"o\">=</span><span class=\"s2\">&quot;archive_date_detail&quot;</span><span class=\"p\">),</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p><strong>Example myapp/article_detail.html</strong>:</p>\n<div class=\"code-block\" data-language=\"html+django\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Django template</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Django template code\"><code><span class=\"p\">&lt;</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span><span class=\"cp\">{{</span> <span class=\"nv\">object.title</span> <span class=\"cp\">}}</span><span class=\"p\">&lt;/</span><span class=\"nt\">h1</span><span class=\"p\">&gt;</span>\n</code></pre></div>\n</dd></dl>\n\n<aside class=\"admonition admonition-note\" role=\"note\">\n<p class=\"admonition-title\">Note</p>\n<p>All of the generic views listed above have matching <code class=\"docutils literal notranslate\">Base</code> views that\nonly differ in that they do not include the\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-multiple-object/#django.views.generic.list.MultipleObjectTemplateResponseMixin\" title=\"django.views.generic.list.MultipleObjectTemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">MultipleObjectTemplateResponseMixin</code></a>\n(for the archive views) or\n<a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/mixins-single-object/#django.views.generic.detail.SingleObjectTemplateResponseMixin\" title=\"django.views.generic.detail.SingleObjectTemplateResponseMixin\"><code class=\"xref py py-class docutils literal notranslate\">SingleObjectTemplateResponseMixin</code></a>\n(for the <a class=\"reference internal\" href=\"/en/2.2/ref/class-based-views/flattened-index/#DateDetailView\" title=\"DateDetailView\"><code class=\"xref py py-class docutils literal notranslate\">DateDetailView</code></a>):</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.dates.BaseArchiveIndexView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">BaseArchiveIndexView</span><a class=\"heading-anchor\" href=\"#django.views.generic.dates.BaseArchiveIndexView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.dates.BaseYearArchiveView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">BaseYearArchiveView</span><a class=\"heading-anchor\" href=\"#django.views.generic.dates.BaseYearArchiveView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.dates.BaseMonthArchiveView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">BaseMonthArchiveView</span><a class=\"heading-anchor\" href=\"#django.views.generic.dates.BaseMonthArchiveView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.dates.BaseWeekArchiveView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">BaseWeekArchiveView</span><a class=\"heading-anchor\" href=\"#django.views.generic.dates.BaseWeekArchiveView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.dates.BaseDayArchiveView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">BaseDayArchiveView</span><a class=\"heading-anchor\" href=\"#django.views.generic.dates.BaseDayArchiveView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.dates.BaseTodayArchiveView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">BaseTodayArchiveView</span><a class=\"heading-anchor\" href=\"#django.views.generic.dates.BaseTodayArchiveView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.views.generic.dates.BaseDateDetailView\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">BaseDateDetailView</span><a class=\"heading-anchor\" href=\"#django.views.generic.dates.BaseDateDetailView\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n</aside>\n</section>","rootId":"module-django.views.generic.dates","toc":[{"title":"ArchiveIndexView","anchor":"archiveindexview","children":[]},{"title":"YearArchiveView","anchor":"yeararchiveview","children":[]},{"title":"MonthArchiveView","anchor":"montharchiveview","children":[]},{"title":"WeekArchiveView","anchor":"weekarchiveview","children":[]},{"title":"DayArchiveView","anchor":"dayarchiveview","children":[]},{"title":"TodayArchiveView","anchor":"todayarchiveview","children":[]},{"title":"DateDetailView","anchor":"datedetailview","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"API Reference","url":"/en/2.2/ref/"},{"docname":"ref/class-based-views/index","title":"Built-in class-based views API","url":"/en/2.2/ref/class-based-views/"}],"prev":{"docname":"ref/class-based-views/generic-editing","title":"Generic editing views","url":"/en/2.2/ref/class-based-views/generic-editing/"},"next":{"docname":"ref/class-based-views/mixins","title":"Class-based views mixins","url":"/en/2.2/ref/class-based-views/mixins/"},"formats":{"html":"/en/2.2/ref/class-based-views/generic-date-based/","markdown":"/en/2.2/ref/class-based-views/generic-date-based.md","json":"/en/2.2/ref/class-based-views/generic-date-based.json"},"source":"https://github.com/django/django/blob/stable/2.2.x/docs/ref/class-based-views/generic-date-based.txt","official":"https://docs.djangoproject.com/en/2.2/ref/class-based-views/generic-date-based/","inVersions":["dev","6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9","1.8"],"inLocales":["en","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}