Django YearArchiveView是否可以返回所有可能年份的列表?

hin

我正在使用YearArchiveView自己创建的应用程序在页面上显示每年的所有评论:

class year_reviews(YearArchiveView):
    queryset = SimpleReview.objects.published()
    date_field = "date_published"
    make_object_list = True
    allow_future = False
    template_name = 'reviews.html'
    context_object_name = 'reviews'

该视图运行良好-正确返回URL中指定年份的所有评论,不显示将来的评论,而仅显示已发布的评论。

在呈现页面的顶部,我想要列出所有年份的评论,以便用户可以轻松地移至其他年份的评论。YearArchiveView自动提供next_yearprevious_year上下文变量的模板,但我无法找到任何形式的所有可用多年的名单。date_list看起来前途无量,但只返回一个列表个月的选择一年内。

有什么方法可以获取视图可以显示的所有年份的列表,以便在视图的页面之间提供导航?

彼得·德格洛珀

是的-查询集dates可以做到这一点:

https://docs.djangoproject.com/en/dev/ref/models/querysets/#dates

通用视图中似乎没有任何东西已经在运行这样的查询,因此您可能希望将其放入get_context_data方法中。

您会想要这样的东西:

class YearReviews(YearArchiveView):

    def get_context_data(self, **kwargs):
        context = super(YearReviews, self).get_context_data(**kwargs)
        context['years_available'] = self.queryset.dates(self.date_field, 'year')
        return context

这会将datetime.date对象的查询集放到您的上下文中,代表每个有效年度的1月1日。如果愿意,可以在get_context_data方法中将它们转换为年份字符串,或|date在模板中使用过滤器。它会忽略您的allow_future设置-如果您将发布日期设为实时,这可能并不重要。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

django CharField表单验证程序可以引发的所有可能错误消息的列表?

来自分类Dev

Django YearArchiveView找不到指定年份的任何帖子

来自分类Dev

Django的YearArchiveView通用日期视图

来自分类Dev

从Django后端返回所有数据

来自分类Dev

Django让所有提交按钮返回主页

来自分类Dev

Django模板:是否可以根据其属性查询特定对象(而不是遍历所有对象)?

来自分类Dev

Django queryset values_list是否返回列表对象?

来自分类Dev

创建后Django Rest Framework不会返回所有字段

来自分类Dev

使用Django,如何返回与标签关联的所有帖子

来自分类Dev

Django Rest-返回所有值@api_view

来自分类Dev

Django API REST返回模型中的所有对象

来自分类Dev

django 查询不返回我所有字段

来自分类Dev

根据django的情况,是否可能有一个模型可以参考许多其他模型?

来自分类Dev

Django:是否可以为Model的所有关系字段定义一个related_name类?

来自分类Dev

Django:是否可以为Model的所有关系字段定义一个related_name类?

来自分类Dev

Django反向查询集包含列表中的所有值

来自分类Dev

django:将所有列作为列表获取

来自分类Dev

django模型使用空列表获取所有值

来自分类Dev

Django:从所有用户中排除用户列表

来自分类Dev

Django:从所有用户中排除用户列表

来自分类Dev

Django - 選擇列表中的所有模型對象

来自分类Dev

django核心分页是否首先检索所有数据?

来自分类Dev

django是否可以有媒体URL和satic URL

来自分类Dev

Django,根据列表中的日期时间年份进行过滤

来自分类Dev

Django,根据列表中的日期时间年份进行过滤

来自分类Dev

Django:如何返回与ForeignKey相关联的所有模型,包括这些模型的所有属性?

来自分类Dev

给定每个属性的可能值列表,Autofixture是否可以枚举所有对象

来自分类Dev

是否可以获取可在Web服务中返回的所有值的列表

来自分类Dev

Django REST错误返回对象列表

Related 相关文章

  1. 1

    django CharField表单验证程序可以引发的所有可能错误消息的列表?

  2. 2

    Django YearArchiveView找不到指定年份的任何帖子

  3. 3

    Django的YearArchiveView通用日期视图

  4. 4

    从Django后端返回所有数据

  5. 5

    Django让所有提交按钮返回主页

  6. 6

    Django模板:是否可以根据其属性查询特定对象(而不是遍历所有对象)?

  7. 7

    Django queryset values_list是否返回列表对象?

  8. 8

    创建后Django Rest Framework不会返回所有字段

  9. 9

    使用Django,如何返回与标签关联的所有帖子

  10. 10

    Django Rest-返回所有值@api_view

  11. 11

    Django API REST返回模型中的所有对象

  12. 12

    django 查询不返回我所有字段

  13. 13

    根据django的情况,是否可能有一个模型可以参考许多其他模型?

  14. 14

    Django:是否可以为Model的所有关系字段定义一个related_name类?

  15. 15

    Django:是否可以为Model的所有关系字段定义一个related_name类?

  16. 16

    Django反向查询集包含列表中的所有值

  17. 17

    django:将所有列作为列表获取

  18. 18

    django模型使用空列表获取所有值

  19. 19

    Django:从所有用户中排除用户列表

  20. 20

    Django:从所有用户中排除用户列表

  21. 21

    Django - 選擇列表中的所有模型對象

  22. 22

    django核心分页是否首先检索所有数据?

  23. 23

    django是否可以有媒体URL和satic URL

  24. 24

    Django,根据列表中的日期时间年份进行过滤

  25. 25

    Django,根据列表中的日期时间年份进行过滤

  26. 26

    Django:如何返回与ForeignKey相关联的所有模型,包括这些模型的所有属性?

  27. 27

    给定每个属性的可能值列表,Autofixture是否可以枚举所有对象

  28. 28

    是否可以获取可在Web服务中返回的所有值的列表

  29. 29

    Django REST错误返回对象列表

热门标签

归档