【问题标题】:Django: drop-down listDjango:下拉列表
【发布时间】:2014-08-26 02:50:18
【问题描述】:

我有一个模型“帖子”,就像一篇博文:

class Post(models.Model):

每个帖子都有一个 pub_date 属性:

pub_date = models.DateField()

在我的网站上显示帖子时,我希望在页面顶部有一个简单的下拉菜单,其结构如下:

  • 2014
    • 一月
    • 二月
  • 2013
  • 2012

等等。我不知道如何使用 Django 对我的帖子进行排序,我认为硬编码是不好的做法。你会如何解决这个问题?

【问题讨论】:

标签: python django drop-down-menu organization


【解决方案1】:

你可以使用类似的东西:

posts = Post.objects.all()
sortedposts = {}
for p in posts:
    sortedposts.setdefault(p.pub_date.year, {})\
               .setdefault(p.pub_date.strftime('%b'), [])\
               .append(p)

这会给你结构:

sortedposts = {
    2014: {
      'Jan': [<post4>, <post3>], 
      'Feb': [<post2>]
    },
    2013: {
      'Jul': [<post1>]
    }
}

【讨论】:

    猜你喜欢
    • 2011-02-27
    • 2020-05-11
    • 1970-01-01
    • 2018-02-03
    • 2021-11-29
    • 2012-02-10
    • 2020-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多