Meu dicionário fica assim (Dicionário dentro de um dicionário):
{'0': {
'chosen_unit': <Unit: Kg>,
'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': None,
'supplier__price_list': u'',
'supplier__email': u'[email protected]',
'unit__name': u'Gram',
'name': u'Rump Bone',
}}
Agora estou apenas tentando exibir as informações no meu modelo, mas estou com dificuldades. Meu código para o modelo é semelhante a:
{% if landing_dict.ingredients %}
<hr>
{% for ingredient in landing_dict.ingredients %}
{{ ingredient }}
{% endfor %}
<a href="/">Print {{ landing_dict.recipe_name }}</a>
{% else %}
Please search for an ingredient below
{% endif %}
Apenas me mostra '0' no meu modelo?
Eu também tentei:
{% for ingredient in landing_dict.ingredients %}
{{ ingredient.cost }}
{% endfor %}
Isso nem exibe um resultado.
Eu pensei que talvez eu precise iterar um nível mais profundo, então tentei o seguinte:
{% if landing_dict.ingredients %}
<hr>
{% for ingredient in landing_dict.ingredients %}
{% for field in ingredient %}
{{ field }}
{% endfor %}
{% endfor %}
<a href="/">Print {{ landing_dict.recipe_name }}</a>
{% else %}
Please search for an ingredient below
{% endif %}
Mas isso não mostra nada.
O que estou fazendo de errado?
fonte
values[0]
em vez eu tive quevalues.items
.items
. A documentaçãohttps://docs.djangoproject.com/en/1.4/topics/templates/
fornece um exemplo que não funciona, mas nenhum exemplo que funciona.{% for k,v in dict %}
fornece resultados bizarros - k é o primeiro caractere de cada chave e v está em branco, enquanto{% for k in dict %}
retorna a chave completa, mas não tem como recuperar valores (já quedict.k
trata k como um caractere literal).https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#for
isso, juntamente com as variáveis forloop que podem ser úteis ao formatar uma lista.values.items
+1Essa resposta não funcionou para mim, mas eu mesma a encontrei. Ninguém, no entanto, postou minha pergunta. Estou com preguiça de perguntar e depois responder, então vou colocar aqui.
Isto é para a seguinte consulta:
No modelo:
fonte
Se você passar uma variável
data
(tipo de dicionário) como contexto para um modelo, deverá codificar:fonte