Почему не работает кнопка лайков/дизлайков?
реализую функционал лайков, дизлайков на 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'),
])