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 (<
[email protected]>) 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 [email protected].
> 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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAKVvSDCuegzvsZQ_Rfms3yMA_EO914T0yJ_n929mnx7bNDodUA%40mail.gmail.com.

Reply via email to