từ điển của tôi trông như thế này (điển trong một cuốn từ điển):cách lặp qua từ điển trong từ điển trong mẫu django?
{ '0': { 'chosen_unit':, 'chi phí': Decimal ('10 0,0000'), 'unit__name_abbrev': u'G ',' supplier_ nhà cung cấp ': u "Thịt của Steve Locker",' price ': Decimal (' 5.00 '),' nhà cung cấp _address ': u'No \ r \ naddress here', 'selected_unit_amount': u ' 2' , 'city_ name': u'Joburg, Trung', 'nhà cung cấp _phone_number': u'02299944444' , 'supplier_ trang web': Không, 'nhà cung cấp _price_list': u '', 'supplier_ email': u'[email protected] ' 'đơn vị _name': u'Gram', 'name': u'Rump xương '}}
Bây giờ tôi m chỉ cố gắng hiển thị thông tin trên mẫu của tôi nhưng tôi đang gặp khó khăn. Mã của tôi cho mẫu trông giống như:
{% 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 %}
Nó chỉ hiển thị cho tôi '0' trên mẫu của tôi?
Tôi cũng đã cố gắng:
{% for ingredient in landing_dict.ingredients %}
{{ ingredient.cost }}
{% endfor %}
này thậm chí không hiển thị kết quả.
Tôi nghĩ có lẽ tôi cần phải lặp một mức độ sâu hơn để cố gắng này:
{% 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 %}
Nhưng điều này không hiển thị bất cứ điều gì.
Tôi đang làm gì sai?
nhờ cho câu trả lời của bạn. Tôi có recipe_name một cấp lên và không cho thấy mức độ của từ điển. Cảm ơn bạn vì câu trả lời! Tôi không thể sử dụng 'giá trị [0]' thay vào đó tôi đã phải 'values.items' – darren
cool! vui mừng chia sẻ những gì tôi biết. Mã đã được gõ tay miễn phí, vì vậy một số sai lầm là không thể tránh khỏi. –
Cảm ơn bạn đã đề cập đến '.items'. Tài liệu 'https: // docs.djangoproject.com/vi/1.4/topics/templates /' đưa ra một ví dụ không hoạt động, nhưng không có ví dụ nào hoạt động. '{% cho k, v trong dict%}' cho kết quả kỳ lạ - k là ký tự đầu tiên của mỗi khóa và v là trống, trong khi '{% cho k trong dict%}' trả về khóa đầy đủ nhưng không có cách nào để lấy giá trị (vì 'dict.k' coi k là ký tự chữ). – Dave