django - 在模板标签中显示 OrderedDict

django - showing OrderedDict in templatetag

我有一个 OrderedDict,我需要显示它的键值,但我无法获取它的值,我有这个字典 = ([('sainbath', 'thesailor'), ('HELLO', 'WORLD')]), 这个我试过了

{{object.specifications}}
      <ul>
        <li>{% for key in object.specifications %}
          {{key}}
          {%endfor%}

我得到这个输出

OrderedDict([('sainbath', 'thesailor'), ('HELLO', 'WORLD')])

  • sainbath HELLO

当我尝试这个时,我只得到它的键而不是值

{{object.specifications}}
      <ul>
        <li>{% for key,value in object.specifications %}
          {{key}} : {{value}}
          {%endfor%}

它给我错误

Need 2 values to unpack in for loop; got 8. please tell me how can I get value?

1) 在模板中使用以下内容:

{% for key,value in object.specifications.items %}
      {{key}}:{{value}}
{% endfor %}

2)如果您使用OrderedDict数据渲染模板,您可以使用下面的方法。

return render_to_response('your_template.html',{'data': sorted(your_ordered_dict.iteritems())})

在模板中,您可以使用如下相同的内容:

{% for key, value in data %}
     {{key}}:{{value}}
{% endfor %}

希望对您有所帮助!!