一、作用:

  根据用户的请求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=form

  http://127.0.0.1:8000/test.form

  http://127.0.0.1:8000/test/


三、局部使用

设置路由:

url(r'^publish/(?P<pk>\d+)/',views.PublishDetailView.as_view()),

设置视图:
from rest_framework.renderers import HTMLFormRenderer,BrowsableAPIRenderer

class PublishDetailView(APIView):
renderer_classes = [HTMLFormRenderer,BrowsableAPIRenderer]
def get(self,request,pk):
publish_list=models.Publish.objects.filter(pk=pk).first()
ps=PublishSerializers(publish_list,many=False)
return Response(ps.data)
def put(self,request,pk):
publish_list = models.Publish.objects.filter(pk=pk).first()
ps=PublishSerializers(data=request.data,instance=publish_list)
if ps.is_valid():
ps.save() # update
return Response(ps.data)
else:
return Response(ps.errors)
def delete(self,request,pk):
models.Publish.objects.filter(pk=pk).delete()
return Response("")

浏览器访问(默认):

加上html样式渲染:

四、全局使用:

在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>

rest_framework:响应器(渲染器)的更多相关文章

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

    rest-framework之响应器(渲染器) 本文目录 一 作用 二 内置渲染器 三 局部使用 四 全局使用 五 自定义显示模版 回到目录 一 作用 根据 用户请求URL 或 用户可接受的类型,筛选 ...

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

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

  3. rest_framework之渲染器

    渲染器简介 什么是渲染器 根据 用户请求URL 或 用户可接受的类型,筛选出合适的 渲染组件. 渲染器的作用 序列化.友好的展示数据 渲染器配置 首先要在settins.py中将rest_framew ...

  4. rest-framework 响应器(渲染器)

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

  5. rest framework 解析器,渲染器

    解析器 解析器的作用 解析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己可以处理的数据.本质就是对请求体中的数据进行解析. 请求体相关字段: Accept:指定了接收的数据类型 Conte ...

  6. Restful framework【第十篇】响应器(渲染器)

    基本使用 -响应器(一般用默认就可以了) -局部配置 renderer_classes=[JSONRenderer,] -全局配置 'DEFAULT_RENDERER_CLASSES': ( 'res ...

  7. rest-framework框架——解析器、ur控制、分页、响应器、渲染器、版本

    一.解析器(parser) 解析器在reqest.data取值的时候才执行. 对请求的数据进行解析:是针对请求体进行解析的.表示服务器可以解析的数据格式的种类. from rest_framework ...

  8. 「Django」rest_framework学习系列-渲染器

    渲染器:作用于页面,JSONRenderer只是JSON格式,BrowsableAPIRenderer有页面,.AdminRenderer页面以admin形式呈现(需要在请求地址后缀添加?fromat ...

  9. rest_framework框架实现之(视图,路由,渲染器)

    一视图 一 在前面我们使用视图时继承的时APIview from rest_framework.response import Response from rest_framework.paginat ...

随机推荐

  1. spring cloud微服务快速教程之(十) gateway 服务网关

    0.前言 gateway是spring的二代网关, 作为Netflix Zuul的替代者,是异步非阻塞网关 ,ZUUL2也是异步非阻塞的,但未纳入spring cloud整合计划 基于WebFlux  ...

  2. Python 实现选择排序

    选择排序算法步骤: 找到数组中最小的那个元素中, 将它和数组的第一个元素交换位置, 在剩下的元素中找到最小的元素,将它和数组的第二个元素交换位置, 如此往复,知道将整个数组排序. 逐步分析: 假设一个 ...

  3. Git 尝试

    1,下载Git 2,安装GIt 3,config : git config --global user.name "mxb" git config --global user.em ...

  4. C# WPF联系人列表(1/3)

    微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. C# WPF联系人列表(1/3) 阅读导航 本文背景 代码实现 本文参考 1.本文背景 聊天软 ...

  5. opencv —— saturate_cast 溢出保护

    src.at<uchar>(i,j)[0] = saturate_cast<uchar>(data); if (data < 0) data = 0; else if ( ...

  6. Lucene使用IKAnalyzer分词

    1.分析器    所有分析器最终继承的类都是Analyzer        1.1 默认标准分析器:StandardAnalyzer            在我们创建索引的时候,我们使用到了Index ...

  7. .net core 中如何读取 appsettings.json 相关配置

    appsettings.json如下 { "Logging": { "LogLevel": { "Default": "Debug ...

  8. MySQL manager or server PID file could not be found!

    [root@centos var]# service mysqld stop MySQL manager or server PID file could not be found!       [F ...

  9. D - Counting Squares

    Your input is a series of rectangles, one per line. Each rectangle is specified as two points(X,Y) t ...

  10. CodeForces - 1105D 多源搜索

    #include<bits/stdc++.h> using namespace std; typedef long long ll; struct node{ int x,y; ll se ...