Форум сайта python.su
4
data это запись json в базе данных примерно со следующей структурой :
{
“last_updated”: значение,
“how_many”:значение/
“searching”:
[
{
how:знач,
request:знач
}
{
how:знач,
request:знач
}
…
]
}
Вот часть кода шаблона джанго:
Вопрос : можно ли ( а если можно то как ) обратиться к элементу how не с помощью двух циклов ( for item in report.data, а уже потом по итему в for word in item.result.searching ) а напрямую в один цикл? ( например вот так не работает :<tbody> {% for item in report.data %} <tr> <td>{{ item.args.request }}</td> <td>{{ item.args.region }}</td> <td>{{ item.result.last_updated }}</td> <td>{{ item.result.how_many }}<br> Страница номер {{ item.result.page }}<br> {% for word in item.result.searching %} {{ word.request}} {{ word.how}}<br> {% endfor %} </td> </tr> {% endfor %}
{% for item in report.data.result.searching %}{{ item.how}}{% endfor %}
Офлайн
568
Что-то у Вас json “со следующей структурой” сильно отличается от переданного контекста. Откуда взялись args, region, request и result? У нас тут “Поле Чудес” что ли?
Офлайн
4
Я сам удивился сначала, но json хранится в data, а data - это метод класса report. Как я понимаю args это контекст переданного report , а в result хранятся всякие данные которые он берёт из data.
Вопрос - как мне посмотреть что конкретно хранися в переменной в django? Как мне вывести это на экран или в консоль? например я хочу посмотреть что хранится в report.data и что хранится в request тах.
Отредактировано FishHook (Сен. 24, 2013 10:18:04)
Офлайн
22
дебажь во вьюхе, принтуй.
Офлайн
568
{{ report.data }}

Офлайн
47
в report.data у тебя контейнер, может как-то так
{% for item in report.data[0].result.searching %}{{ item.how}}{% endfor %}
Офлайн
4
Разобрался как вывести data в консольку. вот её примерная структура(лишнее удалил )
In [10]: report.data
Out[10]:
[{u'args': {u'page': 3, , u'request': u'somerequest'},
u'result': {u'created': 1379839567,
u'how_many': 31739,
u'last_updated': u'2013-09-21',
u'page': 3,
u'searching': [{u'how': 112,
u'request': u'somerequest'},
{u'how': 111, u'request': u'somerequest'},
{u'how': 111, u'request': u'somerequest'},],
u'success': True}}]
Офлайн
568
{% for dct in report.data %} {% for searching in dct.result.searching %} {{ searching.how }} {% endfor %} {% endfor %}
Отредактировано FishHook (Сен. 24, 2013 13:00:55)
Офлайн
4
Спасибо ) Жалко днём не поглядел на форум зато сам разобрался )
Офлайн
568
SoT,
В следующий раз вопросы по Django задавайте в специально созданной для этих целей ветке форума.
http://python.su/forum/21/
Офлайн