In your like button form in your templates ,
try this :

<form onsubmit="return false"></form>

i don't think you need ajax for this , but if you still need it let us know


On Mon, 18 May 2020, 2:26 am Gabriel Araya Garcia, <
gabrielaraya2...@gmail.com> wrote:

> Hi Ahmed, I was looking for that during several months and I have found
> examples than not run, and therefore I`ve get one conclution: "It`s not
> posible to get that functionality in Django". No one could demostrate with
> example code.
> If you find something, please send me the code.
>
> Thanks
>
>
> Gabriel Araya Garcia
> GMI - Desarrollo de Sistemas Informáticos
>
>
>
>
> El dom., 17 may. 2020 a las 20:15, Ahmed Khairy (<
> ahmed.heshamel...@gmail.com>) escribió:
>
>> Hi all,
>>
>> I need some help writing the ajax for a like button instead of refreshing
>> every time a like is posted
>>
>> here is the template:
>>
>>                         <form action="{% url 'score:like_post' post.pk %}
>> " method='POST'>
>>                             {% csrf_token %}
>>                     {% if user.is_authenticated %}
>>                             {% if liked %}
>>                                 <button type='submit' name='post_id'
>> class= "btn btn-danger btn-sm" value="{{post.id}}"> Unlike </button
>> >
>>                             {% else %}
>>                                 <button type='submit' name='post_id'
>> class= "btn btn-primary btn-sm" value="{{post.id}}"> Like </button
>> >
>>                             {% endif  %}
>>                     {% else %}
>>                     <small><a href="{% url 'login' %}"> Login</a
>> > to Like </small>
>>                             <strong>{{total_likes}} Likes </strong>
>>                     {% endif %}
>>                         </form>
>>
>> Here is the urls:
>>     path('like/<int:pk>', LikeView, name='like_post'),
>>
>> here is the views:
>> def LikeView(request, pk):
>>     post = get_object_or_404(Post, id=request.POST.get('post_id'))
>>     like = False
>>     if post.likes.filter(id=request.user.id).exists():
>>         post.likes.remove(request.user)
>>         like = False
>>
>>     else:
>>         post.likes.add(request.user)
>>         like = True
>>     return redirect('score:post-detail', pk=pk)
>>
>> class PostDetailView(DetailView):
>>     model = Post
>>     template_name = "post_detail.html"
>>
>>     def get_context_data(self, *args, **kwargs):
>>         context = super(PostDetailView, self).get_context_data()
>>
>>         stuff = get_object_or_404(Post, id=self.kwargs['pk'])
>>         total_likes = stuff.total_likes()
>>
>>         liked = False
>>         if stuff.likes.filter(id=self.request.user.id).exists():
>>             liked = True
>>
>>         context["total_likes"] = total_likes
>>         context["liked"] = liked
>>         return context
>>
>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Django users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to django-users+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/django-users/00707977-9b68-4329-a13d-adb9ab7b8813%40googlegroups.com
>> <https://groups.google.com/d/msgid/django-users/00707977-9b68-4329-a13d-adb9ab7b8813%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/CAKVvSDCuegzvsZQ_Rfms3yMA_EO914T0yJ_n929mnx7bNDodUA%40mail.gmail.com
> <https://groups.google.com/d/msgid/django-users/CAKVvSDCuegzvsZQ_Rfms3yMA_EO914T0yJ_n929mnx7bNDodUA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAHV4E-d4Bz%2BWbq_Ljio0fBtS_dQ1mtSB1sE6SGt%3Dz4Cxt%2BVZSA%40mail.gmail.com.

Reply via email to