django用html按钮删除对象

时间:2017-10-04 22:06:39

标签: python django

我在Django有一个简单的网站项目,我在第二页的手册页和电影详情中有电影列表。

我想在电影详细信息选项卡上添加删除按钮,用户可以删除电影对象。

views.py

def movies_list(request):
    return render(request, 'movies.html',{'movies':movies.objects.all()})


def movies_details(request,slug):
    movies_details=MyModel.objects.all()
    det=get_object_or_404(movies_details, slug_name=slug)
    return render(request, 'movies_details.html',{'movies_details':movies_details,'det':det})

这样做的最佳方法是什么?

使用新视图

这样的事情:

def delete(request, id):
    note = get_object_or_404(Note, pk=id).delete()
    return HttpResponseRedirect(reverse('movies_details.views.movies_details'))

urls.py

url(r'^delete/(?P<id>\d+)/$','project.app.views.delete'),

或类似的?

if request.POST.get('delete'):
    obj.delete()

或使用一些Django表单?

1 个答案:

答案 0 :(得分:2)

您可以使用django的DeleteView功能。我认为这将是更好的。

from django.views.generic.edit import DeleteView
from django.urls import reverse_lazy

class DeleteTaskView(DeleteView):
     template_name = 'template/delete.html'
     model = Task
     pk_url_kwarg = 'id'

    def get_success_url(self):
        return reverse_lazy('movies_details.views.movies_details')