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

各情報をdictの順序付きリストとして作成できます。したがって、の情報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 に答える
0

OrderedDictを使用しないのはなぜですか? dict とほとんど同じように動作しますが、コンストラクターには少し注意してください: dict を渡さないでください (その dict は OrderedDict コンストラクターに渡される前に順序付けされていないため)。

于 2012-10-16T12:07:15.860 に答える