我已经阅读了互联网,以找到在ajax中传递django链接的最佳解决方案。 波纹管是django模板链接,可使用ajax调用从许多关系中删除对象。
<html>
{% for objects in allobjects %}
<div class="products">
{{objects.title}}
<a data-href="{% url 'app:removeitem' slug=objects.slug %}" >Revomove</a>
</div>
</html>
我的removeitem视图
def RemoveItem(request,slug):
#calling the function which returns user cart object
cart=Cart_object(request)
product=Product.objects.get(slug=slug)
RemoveItem=False
if request.is_ajax():
if request.user.is_authenticated:
cartinstance=Cart.objects.filter(user=request.user).first()
if cartinstance:
cartinstance.products.remove(product)
RemoveITem=True
#converting the available products in user cart object to jason
prod=[]
for x in cart.products.all():
prod.append({'title':x.tittle})
data={'products':prod,"image":x.image.url}
return JsonResponse(data)
url.py
url(r'^Remove_item/(?P<slug>[\w-]+)',views.RemoveItem,name='remove_item'),
这是我的ajax
$(document).ready(function(){
$('a').click(function(e){
e.preventDefault()
var this_=$(this)
var dataUrl=this_.attr('data-href')
$.ajax({
url:dataUrl,
method:"GET",
data:{
},
success:function(data){
var cartbody=$('.cartbody')
$.each(data.products,function(index,value){
cartbody.prepend("<tr> <td > <img src='"+value.image+"'>"+ value.title+ "</td>")
}
}
})
})
})
当ajax用当前可用的产品刷新div时,我希望ajax也返回remove链接url到ajax返回的每个可用产品。请我需要帮助