我有一本字典,其中列出了要在模板中显示的时间:

from django.utils.datastructures import SortedDict

time_filter = SortedDict({
    0 : "Eternity",
    15 : "15 Minutes",
    30 : "30 Minutes",
    45 : "45 Minutes",
    60 : "1 Hour",
    90 : "1.5 Hours",
    120 : "2 Hours",
    150 : "2.5 Hours",
    180 : "3 Hours",
    210 : "3.5 Hours",
    240 : "4 Hours",
    270 : "4.5 Hours",
    300 : "5 Hours"
})


我想在模板中创建一个下拉列表:

<select id="time_filter">
    {% for key, value in time_filter.items %}
        <option value="{{ key }}">{{ value }}</option>
    {% endfor %}
</select>


但是下拉菜单中的元素不是按照字典中定义的顺序进行的。我想念什么?

最佳答案

here

您正在执行“不起作用”的操作,即将未排序的字典作为已排序字典的输入。

你要

SortedDict([
    (0, 'Eternity'),
    (15, '15 minutes'),
    # ...
    (300, '300 minutes'),
])

关于python - Django中的SortedDict,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9691526/

10-12 22:50