修改我们主要分3步(视图、路由,模板)
视图页面:
from django.shortcuts import render,HttpResponse,redirect
from django.views import View
from myapp.models import MovieCate,Movies,User
class UpdateView(View):
def get(self,request,pk):
return render(request,'update.html')
# 获取修改之后的数据完成修改的操作
def post(self,request,pk):
# 获取文本框里的电影名、票价、所属分类
name1 = request.POST.get('upname')
price1 = request.POST.get('upprice')
cate1 = request.POST.get('upcateid')
# 此时name1、price1、cate1就是要修改的数据 模型类.objects.filter(条件).update(字段=值。。。)
try:
Movies.objects.filter(id = pk).update(name=name1,price=price1,cate_id=cate1)
except Exception as a:
print(a)
return HttpResponse('修改失败')
return redirect("/movie/%s"%cate1)
路由页面
from django.urls import path from myapp import views path('update/<int:pk>/',views.Update.as_view())
模板页面
<form method="post">
{% csrf_token %}
<p>电影名:<input type="text" name="upname"></p>
<p>票价:<input type="text" name="upprice"></p>
<p>所属分类:<input type="text" name="upcateid"></p>
<P><input type="submit" value="确认修改"></P>
</form>