Я хочу использовать кнопку like с ajax, но у меня возникла проблема. Ошибка, которую я получаю при нажатии на кнопку like (Not Found: /like)

POST http://127.0.0.1:8000/like 404 (Not Found) Я совсем новичок в этом деле. Я думаю, что ошибка связана с перенаправлением url, но url, которые я использую, не работают, что я должен использовать?

Что я пытаюсь достичь, это понравиться сообщение без обновления страницы, когда я нажимаю кнопку "нравится".

models.py

class Post(models.Model):
    likes = models.ManyToManyField(
           User, related_name='like', default=None, blank=True)
    like_count = models.BigIntegerField(default='0')
   

views.py

   @ login_required
   def like(request):
       if request.POST.get('action') == 'post':
           result = ''
           id = int(request.POST.get('postid'))
           post = get_object_or_404(Post, id=id)
           if post.likes.filter(id=request.user.id).exists():
               post.likes.remove(request.user)
               post.like_count -= 1
               result = post.like_count
               post.save()
           else:
               post.likes.add(request.user)
               post.like_count += 1
               result = post.like_count
               post.save()
   
           return JsonResponse({'result': result, })
       
       
       

urls.py

   urlpatterns = [
        path('like', like, name='like'),
   ]
      

myscript

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
         $(document).on('click', '#like-button', function (e) {
           e.preventDefault();
           $.ajax({
             type: 'POST',
             url: '{% url "like" %}',
             data: {
               postid: $('#like-button').val(),
               csrfmiddlewaretoken: $('input[name=csrfmiddlewaretoken]').val(),
               action: 'post'
             },
             success: function (json) {
               document.getElementById("like_count").innerHTML = json['result']
             },
             error: function (xhr, errmsg, err) {
       
             }
           });
         })
   </script>   
    

post_detail.html

   {% if request.user.is_authenticated %}
       <div class="pr-2">
       <span class="" id="like_count">{{post.like_count}}</span>
       <button class="btn btn-link text-dark p-0 border-0 btn-outline-light" id="like-button" value="{{post.id}}">
       <svg width="1.5em" height="1.5em" viewBox="0 0 16 16" class="bibiheart"fill="currentColor"xmlns="http://www.w3.org/2000/svg"><path
   fill-rule="evenodd"d="M8 2.748l-.717-.737C5.6.281 2.514.878 1.4
   3.053c-.523 1.023-.641 2.5.314 4.385.92 1.815 2.834 3.989 6.286 6.357 3.452-2.368 5.365-4.542 6.286-6.357.955-1.886.838-3.362.314-4.385C13.486.878 10.4.28 8.717 2.01L8 2.748zM8 15C-7.333 4.868 3.279-3.04 7.824 1.143c.06.055.119.112.176.171a3.12 3.12 0 0 1 .176-.17C12.72-3.042 23.333 4.867 8 15z" /></svg>
       </button>
       </div>
   {% endif %}
Вернуться на верх