api 修改数据

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(),结果如下:

再打开后台管理查看:

可见数据已被修改。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • 此段内容简要来自自强学堂的教程详情请查询自强学堂 一、 后台的运作流程 接收request请求 处理数据 获取请求...
    coder_ben阅读 5,257评论 6 56
  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,235评论 22 257
  • 之前看到很多家长分享的亲子日记,也看到很多孩子通过写亲子日记以来的变化,自己也看在眼里,可总是因为这样那样的原...
    四年级三班窦奕铭妈妈阅读 332评论 0 0