Javascript отображает необработанный JSON, а не HTML-контент, как кнопка «index».

Я разрабатываю веб-приложение на Django, которое позволяет пользователям следить друг за другом и просматривать ленту сообщений от пользователей, за которыми они следуют. У меня есть кнопка, которая запускает AJAX-запрос к представлению Django, предназначенному для получения и отображения соответствующих постов. Мое представление Django корректно извлекает посты пользователей, за которыми следит вошедший в систему пользователь, и возвращает их в виде JSON-ответа. Однако, когда мой JavaScript-код получает этот ответ, он не выводит посты на страницу в виде HTML. Вместо этого браузер отображает необработанные данные в формате JSON. Я ожидаю, что JavaScript будет использовать данные JSON для обновления страницы с HTML-контентом, представляющим посты, но этого не происходит. Как я могу убедиться, что мой JavaScript правильно обрабатывает JSON и отображает посты в виде HTML? Спасибо за помощь ❤️

post.js:

document.addEventListener('DOMContentLoaded', function() {
// Use buttons to toggle between views
const index = document.querySelector('#index')
const following = document.querySelector('#following')

if(index) {
    index.addEventListener('click', () => load_data('index'));
}

if (following) {
    following.addEventListener('click', () => load_data("following"));
}

// By default, load the index
load_data('index');
});

function load_data(type) {
console.log("type:", type);
let url;
if (type == "index") {
    url = "/post"
} else if (type == "following") {
    url = "/following"
} else {
    return
}
console.log("url: ", url)
fetch(url)
    .then(response => response.json())
    .then(posts => {
        console.log("posts:", posts);
        const postsContainer = document.querySelector("#postsContainer");
        if(postsContainer) {
            postsContainer.innerHTML = '';
        }
        posts.forEach(post => {
.....
}

layout.html:

          <li class="nav-item">
        <a id="index" class="nav-link" href="{% url 'index' %}">All Posts</a>
      </li>
      {% if user.is_authenticated %}
      <li class="nav-item">
        <a class="nav-link" href="{% url 'create-post' %}">New Post</a>
      </li>
      <li class="nav-item">
        <a id="following" class="nav-link" href="{% url 'following' %}">Following</a>
      </li>

views.py:

@login_required
def following(request):
    user = request.user
    user_followings = Follow.objects.filter(follower=user)
    posts = []
    for user_following in  user_followings:
        posts.extend(Post.objects.filter(user=user_following.followed).order_by('-date'))

    return JsonResponse([post.serialize() for post in posts], safe=False)

Я нашел свою проблему в том, что у меня много шаблонов html-файлов, поэтому я забыл добавить, в какие шаблоны html-файлов должна рендериться кнопка Following.

views.py:

def post_following(request):
return HttpResponseRedirect(reverse("index"))

urls.py:

    path("post/following", views.post_following, name="post-following"),

layout.html:

<a id="following" class="nav-link" href="{% url 'post-following' %}">Following</a>
Вернуться на верх