美文网首页
rest-framework 相关概念

rest-framework 相关概念

作者: 叶田的学习笔记 | 来源:发表于2018-10-24 20:57 被阅读0次

    如果我们使用了Django的模板,那么可以在上下文中将实例对象作为响应的一部分返回给浏览器。但是如果我们需要返回将其转化为JSON格式的数据返回给浏览器(比如咱们的restful服务),那么就需要进行序列化了。

    序列化,就是将实例对象转换为可传输格式(JSON、XML等)的过程。反序列化则是序列化的反向过程。

    Django Rest Framwork通过两个步骤来实现模型的序列化:

    1\序列化器充当Django模型与Python原语之间的中介(就像Django模型充当数据库与Python之间的中介一样);
    2\解析器和渲染器处理Python原语与http的请求响应之间的编码过程;

    渲染器和解析器用于处理HTTP的请求响应与Python原码之间的过程:
    – 渲染器用于将响应序列化为特定的媒体类型以通过HTTP进行传输;
    – 解析器用于解析传入HTTP请求的内容。

    在Django Rest Framwork模块中,所有的渲染器都存在于rest_framework.renderer子模块下


    image.png

    所有的解析器都存在于rest_framework.parsers子模块下:


    image.png

    from rest_framework.response import Response
    这个Response响应类类似于Django中django.http所提供的HttpResponse响应类,两者的区别在于:

    Response响应类使用未经渲染的数据进行初始化返回;
    HttpResponse响应类使用经过渲染的字符串进行初始化返回;

    超链接模型序列化器——HyperlinkedModelSerializer()。
    通过超链接的形式来表示模型之间的关系,并通过url字段与其他模型进行连接。

    相关文章

      网友评论

          本文标题:rest-framework 相关概念

          本文链接:https://www.haomeiwen.com/subject/pbpazftx.html