Python Django:如何使用Ajax喜欢对象
这是我的观点Python Django:如何使用Ajax喜欢对象,python,django,Python,Django,这是我的观点 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():
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)
那么在这个视图之后,我如何将用户重定向到同一个页面呢
我使用了“返回重定向(request.META['HTTP_REFERER']),但它给出了一个错误“name'request'未定义”
我不能使用get absolute URL方法,我在几个地方使用这个视图
那么,我如何才能做到这一点呢?要喜欢使用ajax调用的对象,请执行以下操作 首先,在html中,我们希望创建一个类似按钮:
<button id="like">Like!</button>
注意:您可以自定义like视图,以检查用户是否已经喜欢
你能告诉我你在这个视图中想做什么吗?因为我认为你应该使用ajax调用,而不是重定向用户,然后将他们重定向到上一页。然后使用ajax调用更新你的问题,让我如何喜欢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(r'like/obj/(?P<pk>[0-9]+)/', views.like, name="like"),
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")