一 作用:

  根据 用户请求URL 或 用户可接受的类型,筛选出合适的 渲染组件。
  用户请求URL:
        http://127.0.0.1:8000/test/?format=json
        http://127.0.0.1:8000/test.json

二 内置渲染器

    显示json格式:JSONRenderer

    访问URL:

      http://127.0.0.1:8000/test/?format=json

      http://127.0.0.1:8000/test.json

      http://127.0.0.1:8000/test

   默认显示格式:BrowsableAPIRenderer(可以修改它的html文件)

    访问URL

         http://127.0.0.1:8000/test/?format=api

        http://127.0.0.1:8000/test.api

        http://127.0.0.1:8000/test

   表格方式:AdminRenderer

    访问URL:

        http://127.0.0.1:8000/test/?format=admin

        http://127.0.0.1:8000/test.admin

        http://127.0.0.1:8000/test

   form表单方式:HTMLFormRenderer

   访问URL

        http://127.0.0.1:8000/test/?format=from

        http://127.0.0.1:8000/test.from

        http://127.0.0.1:8000/test

三 局部使用

from rest_framework.renderers import  HTMLFormRenderer,BrowsableAPIRenderer
class BookDetailView(APIView):

renderer_classes = [HTMLFormRenderer,BrowsableAPIRenderer ]

def get(self,request,pk):book_obj=models.Book.objects.filter(pk=pk).first()bs=BookSerializers(book_obj,many=False)return Response(bs.data)def put(self,request,pk):book_obj = models.Book.objects.filter(pk=pk).first()bs=BookSerializers(data=request.data,instance=book_obj)if bs.is_valid():bs.save() # updatereturn Response(bs.data)else:return Response(bs.errors)def delete(self,request,pk):models.Book.objects.filter(pk=pk).delete()return Response("")

四 全局使用

在settings中配置:

REST_FRAMEWORK = {'DEFAULT_RENDERER_CLASSES':['rest_framework.renderers.JSONRenderer']
}

五 自定义显示模版:

from rest_framework.renderers import  TemplateHTMLRenderer
class BookDetailView(APIView):renderer_classes = [TemplateHTMLRenderer]def get(self,request,pk):book_obj=models.Book.objects.filter(pk=pk).first()bs=BookSerializers(book_obj,many=False)return Response(bs.data,template_name='aa.html')

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
{{ title }}
{{ publishDate }}
</body>
</html>

注意:如果同时多个存在时,自动根据URL后缀来选择渲染器。

转载于:https://www.cnblogs.com/HUIWANG/p/11140090.html

rest-framework 响应器(渲染器)相关推荐

  1. rest-framework解析器,url控制,分页,响应器,渲染器,版本控制

    解析器 1.json解析器 发一个json格式的post请求.后台打印: request_data---> {'title': '北京折叠'} request.POST---> <Q ...

  2. rest-framework之响应器(渲染器)

    https://www.cnblogs.com/liuqingzheng/articles/9766413.html 一 作用 根据 用户请求URL 或 用户可接受的类型,筛选出合适的 渲染组件. 用 ...

  3. Django REST framework 解析器和渲染器

    解析器的作用 解析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己可以处理的数据.本质就是对请求体中的数据进行解析. 在了解解析器之前,我们要先知道Accept以及ContentType请求 ...

  4. C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码...

    原文:C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码 前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github. ...

  5. zend framework php编码规范,Zend Framework常用校验器详解

    本文实例讲述了Zend Framework常用校验器.分享给大家供大家参考,具体如下: Date日期校验器 代码:<?php require_once 'Zend/Validate/Date.p ...

  6. CVPR2021(Oral) 商汤、港中文实现单目人脸重建新突破: 基于生成网络的渲染器!几何形状更精准!渲染效果更真实!...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 近日,商汤-港中文联合实验室提出基于风格化对抗生成器的人脸渲染器,用于取代传统图形学基于栅格化的渲染器 ...

  7. 渲染测试软件 d15,D5 Render(D5 渲染器)1.7.0 正式版发布 | 一款 RTX 实时光线追踪可视化实时渲染引擎,而且是国产软件!...

    长期的 Beta版公测后,D5 渲染器终于正式对外发布!最新的正式版是1.7.0.正式版将由免费版+付费增值服务这样的方式进行对外销售.另外最新还新增了社区免费版(社区免费版功能上有一点限制:无法渲染 ...

  8. CVPR2021(Oral) 商汤、港中文实现单目人脸重建新突破: 基于生成网络的渲染器!几何形状更精准!渲染效果更真实!

    近日,商汤-港中文联合实验室提出基于风格化对抗生成器的人脸渲染器,用于取代传统图形学基于栅格化的渲染器来进行3D模型的重建.该方法构建了一种从输入3D模型到生成图像的平滑梯度,同时可以以低精度建模获得 ...

  9. [转]HDR渲染器的实现(基于OpenGL)

    http://dev.gameres.com/Program/Visual/3D/HDRTutorial/HDRTutorial.htm 作者:何咏(欢迎和大家交流,我的QQ:35574585,Ema ...

最新文章

  1. 博客园2013年4月份第2周源码发布详情
  2. Android10.0 日志系统分析(二)-logd、logcat架构分析及日志系统初始化-[Android取经之路]
  3. 系统架构师考试知识点mp3资料免费下载
  4. 为什么k8s中docker容器的启动命令必须是前台执行?
  5. Codeforces987F AND Graph
  6. java executor_Java并发编程(08):Executor线程池框架
  7. 673. 最长递增子序列的个数
  8. 【Kaggle】Intermediate Machine Learning(管道+交叉验证)
  9. 为什么数据库有时候不能定位阻塞(Blocker)源头的SQL语句
  10. iPhone开发之@Class与#import的区别
  11. 决策树算法python源代码_CART决策树(Decision Tree)的Python源码实现
  12. 【第1128期】从北京回来的年轻人,该告诉你点什么?
  13. python实现multi函数参数个数不限、返回所有参数乘积_实现multi( )函数,参数个数不限,返回所有参数的乘积。_学小易找答案...
  14. 前端开发工程师必备网站
  15. licode erizo pipleline 1 : handlercontext
  16. (基础篇1-15)项目架构简介及环境搭建
  17. 使用Opencv2+Pyqt5实现人脸识别视频马赛克
  18. 线性代数之向量线性相关线性表示的求法
  19. 2022年全国最新消防设施操作员(初级消防设施操作员)题库及答案
  20. android加入聊天功能,app实现聊天功能 - houwanmin的个人空间 - OSCHINA - 中文开源技术交流社区...

热门文章

  1. 以下用于数据存储领域的python第三方库是-Python3爬虫学习之MySQL数据库存储爬取的信息详解...
  2. python编程语言好学吗-转行零基础该如何学习python?很庆幸,三年前的我选对了...
  3. python装饰器实例-Python函数装饰器--实例讲解
  4. python详细安装教程3.7.0-python 3.7.0 安装配置方法图文教程
  5. python程序员招聘信息-IT行业程序员招聘分析
  6. python设计及论文-python能否实现学术论文文本分析的功能?
  7. 零基础学python用哪本书好看-6个Python超酷技巧,原来还能这样用!初学必看
  8. python能处理多大的数据-使用Python Pandas处理亿级数据
  9. python画散点图类型-python学习之matplotlib绘制散点图实例
  10. python代码案例详解-Python实现电视里的5毛特效实例代码详解