Django项目 编辑功能
一.urls.py文件中添加函数和路径的对应关系
urlpatterns = [
path('book_list/', views.book_list), #图书列表信息
path('add_booklist/', views.add_booklist), #新增图书信息
path('del_booklist/', views.del_booklist),# 删除图书信息
path('egit_booklist/', views.egit_booklist), #编辑图书信息
]
二.views.py文件中添加egit_booklist函数
def egit_booklist(request):
if request.method =="POST":
egit_id = request.POST.get("id") #从post请求中获取id值
new_name = request.POST.get("egit_bookname") # 取出新创建的书名
new_type = request.POST.get("egit_booktype") # 取出新创建的类型
edit_obj= models.BOOK.objects.get(id=egit_id) #根据id值获得对象数据
edit_obj.name =new_name #将修改后的数据 替换原有数据
edit_obj.type = new_type
edit_obj.save() #进行提交操作
return redirect("/book_list/") #返回图书列表页面
#以下是作为get请求时的操作
egit_id= request.GET.get("id") #从get请求的数据中获得id
if egit_id:
egit_obj = models.BOOK.objects.get(id= egit_id) #找到这个id的对象
return render(request,"egit_booklist.html",{"egit_book_list":egit_obj})
#返回新增页面 并将刚才查到的数据返回去
else:
return HttpResponse("编辑的图书数据不存在")
三.新建edit_booklist.html
编辑图书
四.在book_list中添加编辑按钮