我在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表单?
答案 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')