2013-07-26 2 views
1

У меня есть словарь, созданный в python, например.Как перебирать список в файле rml ReportLab

dictionary_list = [{'1':1,'2': 2,'3': 3},{'1': 1,'2':2,'3':3,'4':4},{'1':1,'2':2}] 

Теперь я хочу перебрать этот dict с использованием синтаксиса python. Я пробовал:

{% for (key_o, val_o) in dictionary_list.items %} 

но он не работает. Тогда я попробовал это, поскольку предыдущий синтаксис не помог.

{% for dictionary in dictionary_list %} 
    {% for (key_o, val_o) in dictionary.items %} 
     {{ val_o }} 
    {% endfor %} 
{% endfor %} 

Но до сих пор он не печатает val_o's value.I я постигло разочарование, так как я не смог перебрать список словаря в Report Markup Language (RML файла) из Report lab. Пожалуйста, помогите мне, спасибо.

ответ

4

Это список множеств, не dicts:

>>> [ type(x) for x in [{1,2,3},{1,2,3,4},{1,2}]] 
[<type 'set'>, <type 'set'>, <type 'set'>] 

попробовать что-то вроде этого:

set_list = [{1,2,3},{1,2,3,4},{1,2}] 
{% for item in set_list %} 
    {% for x in item %} 
     {{ x }} 
    {% endfor %} 
{% endfor %} 

Update:

В скобках не допускается Джанго теги, чтобы вы не должны их использовать. Это должно работать нормально:

{% for key_o, val_o in dictionary.items %} 

И если вы хотите только значения из dicts не ключи затем просто использовать dict.values:

{% for val_o in dictionary.values %} 
+0

Извините за неправильное описание вопроса, но вы правы на мой предыдущее описание, Итак, можете ли вы, пожалуйста, обновить свой ответ на обновленный вопрос, спасибо –

+0

@BrahamShakti Обновлен мой ответ. –