Почему не работает кнопка лайков/дизлайков?

реализую функционал лайков, дизлайков на django, но кнопка не срабатывает.Не могу удалить лайк. html.py

<form action="{% url 'forum:like-topic'  %}" method="POST">
    {% csrf_token %}

<input type='hidden' name='topic_id' value="{{ topic.id }}">
{% if user not in topic.likes.all %}
    <button class="ui button positive" type="submit">Like</button>
{% else %}
    <button class="ui button negative" type="submit">Unlike</button>

{% endif %}
    <strong>{{ topic.likes.all.count }} likes </strong>

</form>

    views.py
    def like_topic(request):

user = request.user
if request.method == 'POST':
    topic_id = request.POST.get('topic_id')
    topic_obj = Topic.objects.get(id=topic_id)
    if user in topic_obj.likes.all():
        topic_obj.likes.remove(user)

    else:
        topic_obj.likes.add(user.id)
    like, created = Like.objects.get_or_create(user_id=user.id, topic_id=topic_id)
    if not created:
        if like.value == 'Like':
            like.value = 'Unlike'
        else:
            like.value = 'Like'
        like.save()

return HttpResponseRedirect(reverse('forum:topic_detail', kwargs={'slug': topic_id}))



    urls.py
    app_name = 'forum'

    urlpatterns = format_suffix_patterns([
      path('', views.TopicListView.as_view(), name='main'),
      path('single-topic/', views.SingleTopicPageView.as_view(), name='single-topic'),
      path('search/', Search.as_view(), name='search_results'),
      path('search/<category_id>/', topic_view, name='topic_view'),
      path('<slug:slug>/', views.TopicDetailView.as_view(), name='topic_detail'),
      path('r<slug:slug>/<category_id>/', views.CategoryDetailView.as_view(), name='category_detail'),
      path("list/1/", views.TopicViewSet.as_view({'get': 'list'})),
      path("<int:pk>/", views.TopicViewSet.as_view({'get': 'retrieve'})),
      path('1/new_topics/', modal_topic, name='modal_topic'),
      path('2/latest_topic/', modal_latest_topic, name='modal_latest_topic'),
     path('3/forum_rules/', views.ForumRulesView.as_view(), name='forum_rules'),
     path('4/about_us/', views.AboutUsView.as_view(), name='about_us'),
     path('5/email_send/', send_email, name='send_email'),
     path('6/team', TeamView.as_view(), name='the_team'),
     path('lang/<lang_code>/', views.lang, name='lang'),
     path('like', like_topic, name='like-topic'),
   ])
Вернуться на верх