当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Django ArchiveIndexView用法及代码示例


本文介绍 django.views.generic.dates.ArchiveIndexView 的用法。

声明

class ArchiveIndexView

按日期显示 “latest” 对象的顶级索引页面。除非您将 allow_future 设置为 True ,否则不包括日期在 future 中的对象。

祖先 (MRO)

语境

除了 django.views.generic.list.MultipleObjectMixin (通过 django.views.generic.dates.BaseDateListView )提供的上下文之外,模板的上下文将是:

  • date_list :一个 QuerySet 对象,包含根据 queryset 具有可用对象的所有年份,表示为 datetime.datetime 对象,按降序排列。

注意

  • 使用 latest 的默认 context_object_name
  • 使用 _archive 的默认 template_name_suffix
  • 默认按年提供 date_list,但可以使用属性 date_list_period 将其更改为月或日。这也适用于所有子类视图。

示例 myapp/urls.py

from django.urls import path
from django.views.generic.dates import ArchiveIndexView

from myapp.models import Article

urlpatterns = [
    path('archive/',
         ArchiveIndexView.as_view(model=Article, date_field="pub_date"),
         name="article_archive"),
]

示例 myapp/article_archive.html

<ul>
    {% for article in latest %}
        <li>{{ article.pub_date }}: {{ article.title }}</li>
    {% endfor %}
</ul>

这将输出所有文章。

相关用法


注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.views.generic.dates.ArchiveIndexView。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。