0

在模板页面上呈现每月统计数据的最佳方式是什么?

我最初是为了简化模板而从列表开始的,但是在切换到字典之后,我已经能够更顺利地做同样的事情了。麻烦的是,根据定义,字典没有排序。然后,如果我 iteritems() 字典我不会得到一个干净的结果,但更像

('Feb', 'Dec', 'Oct' ...)

我应该在处理模板之前将我的字典更改为元组列表,还是有办法使用模板 django 模板系统的高级知识来呈现这些数据?

我的字典是这样构造的:

{'mnth_subscription': {'cummu_sbcr_mthl': {'Mar': 0, 'Feb': 0, 'Aug': 0, 'Sep': 0, 'Apr': 0, 'Jun': 0, 'Jul': 0, 'Jan': 0, 'May': 0, 'Nov': 2221, 'Dec': 2221, 'Oct': 2221}, 'monthly_perc': {'Mar': 0, 'Feb': 0, 'Aug': 0, 'Sep': 0, 'Apr': 0, 'Jun': 0, 'Jul': 0, 'Jan': 0, 'May': 0, 'Nov': -100, 'Dec': 0, 'Oct': 100}, 'cummu_sbcr_perc': {'Mar': 0, 'Feb': 0, 'Aug': 0, 'Sep': 0, 'Apr': 0, 'Jun': 0, 'Jul': 0, 'Jan': 0, 'May': 0, 'Nov': 100, 'Dec': 100, 'Oct': 100}, 'monthly_subscription': {'Mar': 0, 'Feb': 0, 'Aug': 0, 'Sep': 0, 'Apr': 0, 'Jun': 0, 'Jul': 0, 'Jan': 0, 'May': 0, 'Nov': 0, 'Dec': 0, 'Oct': 2221}}
4

2 回答 2

0

为什么不使用OrderedDict?行为与 dict 几乎相同,只是对构造函数要小心一点:不要将 dict 传递给它(因为 dict 在传递给 OrderedDict 构造函数之前将是无序的)。

于 2012-10-16T12:07:15.860 回答
0

您可以将每个信息作为字典的有序列表。所以信息Jan是第 0 个元素,依此类推。例子

{ 'cummu_sbcr_mthl': [ {'Mar', 0}, {'Feb': 0} ..., {'Dec': 0} ],
   'monthly_perc': [ .... ],
}

或另一种方法:

创建字典列表。例如,创建如下列表。

month_subscription =  [ 
        { 'month': 'Mar', 'mindex': 3, 'cummu_sbcr_mnthl': 0, 'monthly_per': 0, 
          'cummu_sbcr_perc': 0, 'monthly_subscription': 0
        },
        ...
        { 'month': 'Oct', 'mindex': 10, 'cummu_sbcr_mnthl': 2221, 'monthly_per': 100, 
          'cummu_sbcr_perc': 100, 'monthly_subscription': 2221
        },
     ]

如果不需要,您可能需要删除'mindex'

于 2012-10-16T09:22:41.397 回答