Использовал simplejson.dumps для вывода в шаблон django, но для доступа к массиву нужно использовать теги - PullRequest
0 голосов
/ 19 августа 2011

Я возвращаю json из представления в шаблон django, чтобы я мог работать с данными в javascript, но теперь мне также нужен доступ к одному из массивов с использованием синтаксиса шаблона django. Кажется, это не очень хорошо работает.

На мой взгляд, я создаю массив python с объектами. Я возвращаю simplejson.dumps так:

response_dict = {"Description":pkg.desc,"MyTypes":pkgtypes,...
return HttpResponse(simplejson.dumps(response_dict), mimetype='text/javascript')

где pkgtypes - массив объектов, к которым я заинтересован, используя теги шаблона. Мне удалось найти фильтр «| safe», который, по крайней мере, показывает мне, что 4 элемента были возвращены в шаблон, но я не могу получить доступ к объектам внутри. Вот что я попробовал:

 {% for t in MyTypes|safe %}
    SOMETHING
    <input type="checkbox" name="myTypes" value="{{ t.Val }}" />{{ t.Label }}
 {%  endfor %}

слово "НЕЧТО" пишется 4 раза с флажками, но я не могу получить доступ к "Val" или "Label", которые являются значениями, которые поступают из массива, например:

[{"Val":myval1, "Label":mylabel1},{"Val":myval2,"Label":mylabel2}...]

Должен ли я просто создать свои флажки, используя вместо этого javascript?

1 Ответ

0 голосов
/ 19 августа 2011

Почему вы применяете safe к последовательности предметов?safe работает со строками, поэтому, если вы хотите пометить материал как безопасный, сделайте это перед выводом, например, {{ t.Label|safe }}

Вы также можете попробовать поместить {% debug %} где-нибудь, чтобы увидеть, что именно MyTypesпеременная содержит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...