Python django使用html按钮删除对象
我在Django有一个简单的站点项目,手册页有电影列表,第二页有电影详细信息 我想在“电影详细信息”选项卡上添加一个删除按钮,用户可以在其中删除电影对象 视图.pyPython django使用html按钮删除对象,python,django,Python,Django,我在Django有一个简单的站点项目,手册页有电影列表,第二页有电影详细信息 我想在“电影详细信息”选项卡上添加一个删除按钮,用户可以在其中删除电影对象 视图.py def movies_list(request): return render(request, 'movies.html',{'movies':movies.objects.all()}) def movies_details(request,slug): movies_details=MyModel.obje
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})
url(r'^delete/(?P<id>\d+)/$','project.app.views.delete'),
做这件事最好的方法是什么
使用“新视图”类似于此:
def delete(request, id):
note = get_object_or_404(Note, pk=id).delete()
return HttpResponseRedirect(reverse('movies_details.views.movies_details'))
url.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})
url(r'^delete/(?P<id>\d+)/$','project.app.views.delete'),
或者使用一些Django表单?您可以使用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')
“什么是最好的”在这个问答网站上是离题的,因为它产生了基于意见的答案和火焰之战。除非你有困难,否则就挑一个你更喜欢的。也就是说,您也可以使用deletehttp方法,而不是GET或POST?在
任务
中,我只能使用我的型号名称?在模板_name='template/delete.html'
中,我可以使用一些模板,如'movies\u details.html'
?最后,我需要在我的html模板中写些什么?对不起,我是新来的thanx,你没有使用你的代码,我在这一行出现语法错误pk\u url\u kwarg='id'
@Mar,很抱歉回复晚了。您可以使用任何名称作为模板,然后在pk\u url\u kwarg
中而不是id
使用您传入的任何名称url
pk\u url\u kwarg
是url?如果我想删除的是图像,如何从服务器中删除,我的意思是从媒体文件夹中完全删除,如何使用您的代码?