zoukankan      html  css  js  c++  java
  • 响应器

    一、作用

    返回的时候,为什么在浏览器里是一个好看的页面,点json的时候返回json格式?

    根据 用户请求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/

    三、响应器的使用

    1、全局使用

    在settings里配置

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

    2、局部使用

    from rest_framework.views import APIView
    from app01 import models
    from rest_framework.renderers import JSONRenderer, BrowsableAPIRenderer
    
    class PublishSerializers(ModelSerializer):
        class Meta:
            model = models.Publish
            fields = '__all__'
    
    
    class Publish(APIView):
        renderer_classes = [JSONRenderer, BrowsableAPIRenderer]  #局部使用 两者都响应
        queryset = models.Publish.objects.all()
        serializer_class = PublishSerializers

    只响应json格式

    json格式浏览器格式都响应

  • 相关阅读:
    Python3全栈学习目录
    五句话搞定javavscript作用域
    Python线程池
    luogu4016 负载平衡问题
    luogu2756 飞行员配对方案问题
    luogu1251 餐巾计划问题
    luogu3386 【模板】二分图匹配 匈牙利算法 hdu2063 过山车 dinic
    luogu3381 【模板】最小费用最大流
    luogu3376 【模板】网络最大流 dinic
    luogu2740 [USACO4.2]草地排水Drainage Ditches 最大流EK
  • 原文地址:https://www.cnblogs.com/zhangguosheng1121/p/11141236.html
Copyright © 2011-2022 走看看