2013-06-09 3 views
0

У меня есть ниже структуры образцас помощью переменной внутри тегов шаблона

'_id': 1 
'company': 'XXX' 
'numberOfProducts': 2 
'products': [ 
     {'sku': 'cnx1cs', 'name': 'canon', 'qty': 3}, 
     {'sku': 'nkx1cs', 'name': 'nikon', 'qty': 2} 
     ] 

Когда я использую этот {{list_of_assets.products.0.name}} обозначения внутри HTML-файла (в Django), он кажется гораздо более удобным вместо использования dict.items()/dict.iteritems() особенно, когда вы думаю, гораздо больше вложенных массивов.

Но я не мог понять, как я могу контролировать номер элемента массива внутри для цикла ...

я имею в виду, если мы думаем над образцом, как я могу перебирать цикл в два раза и производить ниже нотации по каким-то образом, используя переменную внутри тега

{{list_of_assets.products.0.name}} 
    .... 
    {{list_of_assets.products.1.name}} 

приветы

ответ

0

Вы можете сделать

{% for product in list_of_assets.products %} 
    {{product.name}} 
{% endfor %} 
0

Шаблоны Django не позволяют создавать сложные петлевые структуры или программирование. (Для получения более подробной информации о шаблоне философии, пожалуйста, прочитайте: http://www.djangobook.com/en/2.0/chapter04.html раздел:. Философии и ограничение

Тем не менее, единственным способом, чтобы отобразить все элементы в массиве, чтобы использовать решение karthikr предложенного выше:

{%for p in list_of_assets.products %} 
    {{p.name}} 
{% empty %} 
    Nothing in the list! 
{% endfor %} 
Смежные вопросы