Как вывести определенные поля данных json-ответа на frontend web с помощью django
Я использую django с шаблонами и пытаюсь отправить данные json-ответа на внешнюю веб-страницу. Но во внешнем интерфейсе я хочу показать только определенные поля данных json-ответа, что я никак не могу понять. Сейчас я могу отправить полные данные json-ответа и показать их на веб-странице frontend.
Вот детали моего кода -
Эта функция подключается к моему внутреннему индексу и получает каждый документ из индекса и добавляет его в словарь jsonitems.
def sampledata(request):
samplecount = requests.get(sampleindex + "/_count", auth=auth, verify=sslcheck)
print(samplecount.json()['count'])
count = samplecount.json()['count']
jsonitems = {}
for item in range(count):
data = requests.get(sampleindex + "/_doc/" + str(item), auth=auth, verify=sslcheck)
jsondata = data.json()
jsonitems[item] = jsondata
print(jsonitems)
context = {'jsonitems': jsonitems}
return render(request, 'samplewebapp/sampledata.html', context)
Это представление шаблона, которое я использую для рендеринга на фронтенде веб-уи.
{% if jsonitems %}
<ul>
{% for k, v in jsonitems.items %}
<table>
<tr><th> Sample data Item </th></tr>
<tr>
<td>{{ v }}</td>
</tr>
</table>
{% endfor %}
</ul>
{% else %}
<p>No CVE data available</p>
{% endif %}
В настоящее время данные таблицы 'v' (т.е. значение) показывают полные данные в формате json. Но я хочу показать только определенные поля из json данных на фронтенде (например, v['year'] и v['title'] должны показать мне год и название соответственно).
г. JSON данные ответа
{
"year": 2013,
"title": "Monica Z",
"info": {
"directors": [
"Per Fly"
],
"release_date": "2013-09-13T00:00:00Z",
"rating": 7.3,
"genres": [
"Biography",
"Drama",
"Music"
],
"image_url": "http://ia.media-imdb.com/images/M/MV5BODA5NzUyNDA0M15BMl5BanBnXkFtZTgwODY5MjQwMDE@._V1_SX400_.jpg",
"plot": "Ambitious singer must struggle with her musical career, her love life and to bring up her daughter by herself.",
"rank": 4957,
"actors": [
"Edda Magnason",
"Sverrir Gudnason",
"Kjell Bergqvist"
]
}
На самом деле здесь нет json, потому что результатом data.json() будет обычный объект python (в данном случае словарь). Итак, v (т.е. значение) - это словарь, а в шаблонах django ключи доступны как атрибуты: v.year, например.