gpt4 book ai didi

python - Django:如何使用 Ajax 点赞对象

转载 作者:行者123 更新时间:2023-12-01 02:30:30 25 4
gpt4 key购买 nike

这是我的观点,

class ObjLike(RedirectView):
def get_redirect_url(self, *args, **kwargs):
id = self.kwargs.get('id')
obj = get_object_or_404(Data, id=id)
user = self.request.user
if user.is_authenticated():
if user in obj.likes.all():
obj.likes.remove(user)
else:
obj.likes.add(user)

那么在这个 View 之后我如何将用户重定向到同一页面?

我使用了“返回重定向(request.META['HTTP_REFERER'])”,但它给出了错误“名称'请求'未定义”

我无法使用获取绝对 URL 方法,我在多个地方使用此 View 。

那么,我该怎么做呢?

最佳答案

要使用 ajax 调用来喜欢一个对象,请执行以下操作首先在 html 中我们想要制作一个 Like 按钮:

<button id="like">Like!</button>

添加包含ajax的脚本:

<script>
$(document).ready(function() {
$("#like").click(function(event){
$.ajax({
type:"POST",
url:"{% url 'like' Obj.id %}",
success: function(data){
confirm("liked")

}
});
return false;
});

});
</script>

我们将类似的 url 添加到 urlpatterns 列表中:

url(r'like/obj/(?P<pk>[0-9]+)/', views.like, name="like"),

添加 View :

from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def like(request, pk)
obj = Obj.objects.get(id=pk)
obj.likes += 1
obj.save()
return HttpResponse("liked")

Note: you can customize the like view to check if user liked already

关于python - Django:如何使用 Ajax 点赞对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46875587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com