Django и Ajax: кнопка добавления в избранное в цикле for работает и вносит изменения в базу данных, но не изменяет цвет/название соответствующим образом

Мне трудно понять, почему мои кнопки избранного не меняют цвет и название при нажатии, чтобы соответствовать данным в базе данных. Я предполагаю, что это связано с тем, как я настроил булеву переменную 'is_fav', но я не смог найти решение. Любая помощь будет очень признательна!

вид:

def favourite_unfavourite(request):
html = None
#if request.method == 'POST':
activity_id = request.POST.get('activity_id')
activity = get_object_or_404(TherapyActivity, id=activity_id)
#is_fav = False
if activity.favourites.filter(id=request.user.id).exists():
    activity.favourites.remove(request.user)
    is_fav = False
else:
    activity.favourites.add(request.user)
    is_fav = True
context = {
    'Activity': activity,
    'is_fav': is_fav,
    'value': activity_id
    }
if request.is_ajax():
    html = render_to_string('main/favourite_section.html', context, request=request)
return JsonResponse({'form': html})

страница html:

        {% extends "main/index.html" %}
    {% block title %}
        <h1>View All</h1>
    {% endblock %}
    {% block content %}
    {% for activity in activities %}
        <div class="col-md-7 d-flex justify-content-between">
            <li><a href="{{activity.get_absolute_url}}">{{activity.name}}</a> <br> {{activity.description}} </li>
            <div id="favourite-section"> {% include 'main/favourite_section.html' with activity=activity %} </div>
        </div>
    {% endfor %}
    {% endblock %}

включенный раздел:

{% if request.user.is_authenticated %}
    <form action="{% url 'account:favourite_unfavourite' %}" method="post">
        {% csrf_token %}
        {% if fav %}
        <button type="submit" id="favourite" name="activity_id" value="{{ activity.id }}" class="btn btn-danger">Unfavourite</button>
        {% else %}
        <button type="submit" id="favourite" name="activity_id" value="{{ activity.id }}" class="btn btn-primary">Favourite</button>
        {% endif %}
    </form>
{% endif %}

Ajax:

<script type="text/javascript">
  $(document).ready(function(event){

    $(document).on('click', '#favourite', function(event){
      console.log("i'm clicked");
      event.preventDefault();
      var id = $(this).attr("value");
      var url = '{% url "favourite_unfavourite" %}';
      $.ajax({
        type: 'POST',
        url: url,
        data: {
            id: id,
            csrfmiddlewaretoken: '{{ csrf_token }}'
            },
        dataType: 'json',
        success: function(response){
          $('#favourite-section').html(response['form'])
        },
        error: function(rs, e){
          console.log(rs.responseText);
        },
      });
    });
  });
</script>
Вернуться на верх