zoukankan      html  css  js  c++  java
  • rest-framework之响应器

    1、响应器作用

    根据用户请求的URL 或 用户可接受的类型,筛选出合适的 渲染组件;

    比如我们用浏览器访问时就会有一个简单样式的页面,用postman访问就只是json格式的数据;


    2、内置的响应器

    显示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/


    3、使用

    1)局部使用
    views.py

    from django.shortcuts import render
    from app01 import models
    from rest_framework.views import  APIView
    from rest_framework.response import  Response
    from rest_framework.parsers import JSONParser
    
    # 导入模块
    from rest_framework.renderers import JSONRenderer, BrowsableAPIRenderer
    
    # Create your views here.
    
    class Test(APIView):
        # 如果只加JSONRenderer,用浏览器打开时就只是json数据,页面没有样式
        # 加了BrowsableAPIRenderer,用浏览器打开时就会有样式
        renderer_classes = [JSONRenderer, BrowsableAPIRenderer, ]  # 响应器
        def post(self, request):
            print(request.data)
            print(type(request.data))
            return Response()


    image

    image


    2)全局使用

    settings里配置:

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


    虽然可以局部使用和全局使用,但是一般建议不用动就行了;

  • 相关阅读:
    剑桥雅思写作高分范文ESSAY96
    剑桥雅思写作高分范文ESSAY95
    剑桥雅思写作高分范文ESSAY94
    剑桥雅思写作高分范文ESSAY93
    剑桥雅思写作高分范文ESSAY92
    剑桥雅思写作高分范文ESSAY91
    PHP 伪静态规则写法RewriteRule-htaccess详细语法使用
    php页面静态常用函数
    正则函数[原则,能用字符串函数解决不用正则,速度问题]s
    使用xshell文件传输
  • 原文地址:https://www.cnblogs.com/weiyiming007/p/12523479.html
Copyright © 2011-2022 走看看