• 响应器


    一、作用

    返回的时候,为什么在浏览器里是一个好看的页面,点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格式浏览器格式都响应

  • 相关阅读:
    关于mvc、webapi中get、post、put、delete的参数
    sql2008清空日志
    Entityframework修改某个字段
    order by与索引
    Ninject中如果在抽象类中使用了属性注入,则属性必须设置为protected或public
    ViewData,ViewBag,TempData
    eurake高可用集群搭建 自我保护机制
    zookeeper 保证 CP

    JConsole工具监控java程序内存和JVM
  • 原文地址:https://www.cnblogs.com/zhangguosheng1121/p/11141236.html
Copyright © 2020-2023  润新知