Django Make动态删除功能

时间:2018-05-22 20:35:35

标签: python django

我有 views.py 这样的文件

def delete_post(request):
    id = request.GET.get('id')
    post = models.Post.objects.get(id=id)
    return render(request, 'system/ajax/delete.html', {'post': post})

class PostDelete(DeleteView):
    model = models.Post
    success_url = reverse_lazy("system:post_list")

我的 urls.py 文件如下:

url(r'^post-list/$',views.PostList.as_view(),name='post_list'),
url(r'^post-delete/(?P<pk>\d+)/$',views.PostDelete.as_view(),name='post_delete'),
url(r'^ajax/delete/$',views.delete_data,name='ajax_delete_data'),

我的 delete.html 看起来像这样:

  <form method="post" action="{% url 'delete_post' pk=data.pk %}">
      {% csrf_token %}

    <input type="submit" class="btn btn-danger" value="delete">
  </form>

我的 post_list.html 如下:

<button data-id="{{post.id}}" data-url="{% url 'system:ajax_delete_data' %}" type="button" class="delete-post" >
    delete
</button>
<script>
$(document).on('click','.delete-post',function(){ 
    var url = $(this).data('url');
    var id = $(this).data('id');
    $.ajax({
        url:url,
        data:{
            'id':id,
        },
        success:function(data){
            $('#delete-data').html(data);
        },
    });
});
</script>

在我的脚本中它只能删除一个名为post的数据模型,我想让它变为动态,所以我不需要编写很多函数。

在此

post = models.Post.objects.get(id=id) <---

有任何建议吗?

0 个答案:

没有答案