Не удается получить данные API Json для отображения на шаблоне Django

Я пытаюсь получить данные из JSON, который был получен из API, созданного мной для отображения на моем Django Template.

API - это простое API, которое хранит количество просмотров поста и его id, json имеет следующий формат:

[
    {
        "object_pk": 3,
        "hits": 15
    },
    {
        "object_pk": 1,
        "hits": 21
    }
]

Вот мой views.py файл:

class BlogListView(ListView):
    model = Post
    template_name = "home.html"


class BlogDetailView(HitCountDetailView, DetailView):
    model = Post
    template_name = "post_detail.html"
    count_hit = True
    data = {
        "hits": get_cloudapi_data(),
    }


class ResumePageView(TemplateView):
    template_name = "resume.html"

И мой файл service.py, в котором есть функция get_cloudapi_data():

def get_cloudapi_data():
    url = "my-api-address"
    r = requests.get(url)
    hitcount = r.json()
    return hitcount

Ниже представлен мой HTML шаблон, post_detail.html, используемый для отображения этих данных:

{% extends "base.html" %}
{% load hitcount_tags %}

{% block content %}
<div class="post-entry">
    <h2>{{ post.title }}</h2>
    <p> {% get_hit_count for post %} views</p>
    <p> {{ post.body }}</p>

    {% for hit in hits %}

    <p>{{ hit.object_pk }}</p>
    <p>{{ hit.hits }}</p>

    {% endfor %}
</div>




{% endblock content %}

Он показывает только заголовок, тело и количество просмотров, полученное с помощью приложения hitcount, а не мои данные API

Я распечатал hitcount и data, если это поможет

hitcount

[{'object_pk': 3, 'hits': 15}, {'object_pk': 1, 'hits': 21}]

data

{'hits': [{'object_pk': 3, 'hits': 15}, {'object_pk': 1, 'hits': 21}]}

Я новичок в работе с API с Django, поэтому не знаю, где я ошибся.

Вернуться на верх