Когда кому-то нравится публикация, я хочу, чтобы кнопка менялась на «не нравится» вместо «нравится». Действие по удалению аналога работает, но кнопка не меняется.
В шаблоне:
<form action="{%url 'like_post' %}" method='post'>
{% csrf_token %}
{% if is_liked %}
<button type='submit' name="post_id" value = "{{ post.id }}" class="btn btn-danger">Dislike</button>
{% else %}
<button type='submit' name="post_id" value = "{{ post.id }}" class="btn btn-primary">Like</button>
{% endif %}
В просмотрах:
def like_post(request):
post = get_object_or_404(Post, id=request.POST.get('post_id'))
is_liked = False
if post.likes.filter(id=request.user.id).exists():
post.likes.remove(request.user)
is_liked = False
else:
post.likes.add(request.user.id)
is_liked = True
return HttpResponseRedirect(post.get_absolute_url())