¿Cómo iterar a través del diccionario en un diccionario en la plantilla de django?

Mi diccionario se parece a esto (Diccionario dentro de un diccionario):

{‘0’: {‘chosen_unit’:, ‘cost’: Decimal (’10 .0000 ‘),’ unit__name_abbrev ‘: u’G’, ‘supplier_ supplier’: u “Steve’s Meat Locker”, ‘price’: Decimal (‘ 5.00 ‘),’ supplier_address ‘: u’No \ r \ naddress here’, ‘chosen_unit_amount’: u’2 ‘,’ city_ name ‘: u’Joburg, Central’, ‘supplier _phone_number’: u’02299944444 ‘, ‘supplier_ website’: Ninguno, ‘supplier _price_list’: u ”, ‘supplier_ email’: u’ss.sss@ssssss.com ‘,’ unit _name ‘: u’Gram’, ‘name’: u’Rump Bone ‘}}

Ahora solo estoy tratando de mostrar la información en mi plantilla pero estoy luchando. Mi código para la plantilla se ve así:

{% if landing_dict.ingredients %} 
{% for ingredient in landing_dict.ingredients %} {{ ingredient }} {% endfor %} Print {{ landing_dict.recipe_name }} {% else %} Please search for an ingredient below {% endif %}

¿Solo me muestra ‘0’ en mi plantilla?

También intenté:

      {% for ingredient in landing_dict.ingredients %} {{ ingredient.cost }} {% endfor %} 

    Esto ni siquiera muestra un resultado.

    Pensé que tal vez necesitaba recorrer un nivel más profundo, así que intenté esto:

      {% if landing_dict.ingredients %} 
    {% for ingredient in landing_dict.ingredients %} {% for field in ingredient %} {{ field }} {% endfor %} {% endfor %} Print {{ landing_dict.recipe_name }} {% else %} Please search for an ingredient below {% endif %}

    Pero esto no muestra nada.

    ¿Qué estoy haciendo mal?

    Digamos que sus datos son –

    data = {'a': [ [1, 2] ], 'b': [ [3, 4] ],'c':[ [5,6]] }

    Puede usar el método data.items() para obtener los elementos del diccionario. Nota, en las plantillas django NO ponemos () . Además, algunos values[0] mencionados por el usuario values[0] no funcionan, si ese es el caso, intente values.items .

      {% for key, values in data.items %}  {% for v in values[0] %}  {% endfor %}  {% endfor %} 
    a b c
    {{key}}{{v}}

    Estoy bastante seguro de que puede extender esta lógica a su dictado específico.


    Para iterar sobre las claves de dictado en un orden ordenado : primero ordenamos en python, luego iteramos y procesamos en la plantilla de django.

    return render_to_response('some_page.html', {'data': sorted(data.items())})

    En el archivo de plantilla:

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

    Esta respuesta no funcionó para mí, pero encontré la respuesta yo mismo. Nadie, sin embargo, ha publicado mi pregunta. Soy demasiado perezoso para preguntar y luego responder, así que solo lo pondré aquí. Esto es para la siguiente consulta:

     data = Leaderboard.objects.filter(id=custom_user.id).values( 'value1', 'value2', 'value3') 

    En plantilla:

      {% for dictionary in data %} {% for key,value in dictionary.items %} 

    {{ key }} : {{ value }}

    {% endfor %} {% endfor %}