前提
- 已在项目对应models创建好表格
- 注册页面已经写好
ORM 修改 数据
views
'''如果是GET则是进入修改页面(会显示待修改信息), POST则为提交修改内容'''
def update_book(request):
if request.method == "GET":
update_id = request.GET.get('id',None)
if update_id:
update_obj = models.Book.objects.get(id=update_id)
# 返回编辑哪个出版社
return render(request, 'update_book.html', {'book':update_obj})
else:
return HttpResponse('错误')
else:
# 这里是post请求修改数据
# 取新的名字
new_name = request.POST.get('name')
up_id = request.POST.get('id')
# 更新信息,要用id来修改,所以提交的时候要传id过来
update_obj = models.Book.objects.get(id=up_id)
update_obj.title = new_name
update_obj.save() # 一定要执行,提交数据库保存~~~~~~
return redirect('/book_list/')
html
<h1>修改信息</h1>
<form action="/update_book/" method="post">
<!--点击修改时候,将id 和 修改的名字一起提交~!才能根据id进行修改-->
<input type="text" name="id" value="{{ book.id }}" style="display: none">
<input type="text" name="name" value="{{ book.title }}">
<input type="submit" value="提交">
<!--如果出错显示错误信息-->
<p style="color:red">{{ error }}</p>
</form>