zoukankan      html  css  js  c++  java
  • 5-django rest framework,搭建api,这是最重要的章节

    #####

    通过django来完成一个json的返回,
    1,现在我们使用django的cbv,就是class base view,还有就是fbv,就是function,函数,
    django是推荐cbv的,因为class的代码可重用性是比fbv高一些的,
    课程也是推荐cbv,这是面向对象的开发实现,

    我们以商品列表页面来举例实现,因为这个列表页的开发可以涵盖大部分的drf的知识点,

    既然是商品列表页,
    我们首先配置一个url,在urls.py文件里面,
    url(r'goods$'  )

    然后写一个views,
    首先自己写view的时候,要基础django的view,
    这个django的view里面有很多的内容,
    对于怎么进行django的进阶,是通过django的官方的文档来的,但是django的官网文档,对于新手是不合适的,一般是有经验的才可以
    django看中文的文档,你可以大致的了解,django有哪些内容,你经常看文档,对于开发会有很大的好处,

    django提供了很多的view,

    ---->
    新建一个列表,然后插入json,
    怎么返回给前端呢?需要做一个json的序列化,json.dumps()
    ----->
    既然这种方式也可以解决返回json的问题,那为什么还需要使用drf
    1,因为序列化是把所有的都解析出来的,工作量很大,容易出错,
    2,如果add_time序列化是会报错的,
    所以还有很多的问题,

    drf做了很多的东西,可以解决这些问题,

    ###############

    第二个序列化方法:
    上面是自己把每一个字段序列化的,
    from django.forms.models import model_to_dict
    但是这个有问题,也会有一些特殊的字段不能序列化,比如时间格式,图片格式,

    第三个序列化方法:
    django的core里面提供了一个序列化的方法,可以用这个把整个model都序列化了,
    from django.core import serializers
    有一个JsonResbons

    既然django序列化这么简单了,为什么还需要drf?
    因为这个序列化的方式,序列化的结果serializers方法是固定的,不灵活,如果要定制,还要自己该,
    而且django序列化也没有文档,也没有检测,这些drf都会给我们做,

    后面drf,你了解了,就会知道多么的强大,有很多的好处,

    上面都是比较,介绍drf,下面是开始正式开始drf,

    ##########

    通过商品列表学习drf的基础知识,
    1,drf提供的一些views,

    ################

    from django.core import serializers
  • 相关阅读:
    初遇黑客
    第四周学习总结
    第三周学习总结
    关于base64编码的原理及如何在python中实现
    在python中如何将十进制小数转换成二进制
    《信息安全专业导论》第二周学习总结
    计算机科学概论速读问题
    刘谨铭的自我介绍
    师生关系
    20201318快速浏览教材提问
  • 原文地址:https://www.cnblogs.com/andy0816/p/14363228.html
Copyright © 2011-2022 走看看