1.编辑 try_reqwest.html
在 try_reqwest.html 中增加 reviseData方法:
// put 方法,修改数据
var reviseData = function() {
var id = 1; // 书本的id
reqwest({
url: 'api/revise_book/' + id,
type: "json",
method: "put",
// 要修改的数据
data: {
title: '书本1(修改后)',
author: '作者1(修改后)',
summary: '简介1(修改后)'
},
success: function(resp) {}
})
};
2.修改api.py
在 api.py 中增加以下方法,来处理获得的数据:
# put 方法用于修改数据,delete 方法用于删除数据
@api_view(['PUT', 'DELETE'])
# id参数来自url, 用于找到要改变的那条数据
def revise_book(request, id):
# 找到要修改的那条数据
revise_book = Book.objects.get(id=id)
if request.method == 'PUT':
serializer = BookSerializer(revise_book, data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
3.分配 url
分配一个url 用作修改数据:
from library.api import book, revise_book
……
urlpatterns = [
……
url(r'^api/revise_book/(?P<id>\d+)$', revise_book), # id作为参数
……
]
4.测试
打开 “http://127.0.0.1:8000/try_reqwest” ,在控制台输入:reviseData(),结果如下:
再打开后台管理查看:
可见数据已被修改。