zoukankan      html  css  js  c++  java
  • 十一.Django---framework框架 渲染器

    一 . 渲染器

    https://www.jb51.net/article/166237.htm    Django Rest framework解析器和渲染器详解

    https://blog.csdn.net/weixin_30359021/article/details/98877731  

    https://www.cnblogs.com/liwenzhou/p/10267985.html     解析器和渲染器

    析器的作用就是服务端接收客户端传过来的数据,把数据解析成自己可以处理的数据。本质就是对请求体中的数据进行解析。
    
    在了解解析器之前,我们要先知道Accept以及ContentType请求头。
    
    Accept是告诉对方我能解析什么样的数据,通常也可以表示我想要什么样的数据。
    
    ContentType是告诉对方我给你的是什么样的数据类型。
    
    解析器工作原理的就是拿到请求的ContentType来判断前端给我的数据类型是什么,然后我们在后端使用相应的解析器去解析数据。

     1.局部渲染器(单独给每个视图加)

    urls    这是settings的urls
    from django.conf.urls import url,include from django.contrib import admin urlpatterns = [ url('admin/', admin.site.urls), url(r'^nice/', include('myapp.urls')), ]
    urls 这是项目myapp下urls

    from
    django.conf.urls import url,include from myapp.viwes import show urlpatterns = [ url(r'^home/$', show.HomeViwes.as_view()), ]
    viwes1

    from
    django.shortcuts import render,HttpResponse from rest_framework.views import APIView from rest_framework.response import Response from rest_framework.renderers import JSONRenderer,BrowsableAPIRenderer class HomeViwes(APIView): renderer_classes = [JSONRenderer,BrowsableAPIRenderer] # 配置局部渲染器 def get(self,request,*args,**kwargs): print(request.version) return Response('哈哈哈哈哈哈') # return HttpResponse("111111111111111111")


    viwes2

    from
    django.shortcuts import render,HttpResponse from rest_framework.views import APIView from rest_framework.response import Response from rest_framework.renderers import JSONRenderer,BrowsableAPIRenderer class HomeViwes(APIView): renderer_classes = [JSONRenderer] # 配置局部渲染器 def get(self,request,*args,**kwargs): print(request.version) return Response('哈哈哈哈哈哈') # return HttpResponse("111111111111111111")

    settings

    INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp.apps.MyappConfig', 'rest_framework', ]

     2.局部渲染器(全局在settings作用于每个视图 url同上)

    viwes

    from
    django.shortcuts import render,HttpResponse from rest_framework.views import APIView from rest_framework.response import Response class HomeViwes(APIView): def get(self,request,*args,**kwargs): # print(request.version) return Response('哈哈哈哈哈哈1111111111') # return HttpResponse("111111111111111111")
    settings

    REST_FRAMEWORK = { 'DEFAULT_RENDERER_CLASSES':['rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.BrowsableAPIRenderer', ], }
  • 相关阅读:
    Tips_of_JS 之 利用JS实现水仙花数的寻找与实现斐波那契数列
    我的天!居然可以这么“弹”!—— 弹性盒布局属性详述
    震惊,正儿八经的网页居然在手机上这样显示!
    这是假的JS——利用CSS Animation实现banner图非交互循环播放
    小K的H5之旅-HTML5与CSS3部分新属性浅见
    CSS小技巧-煎蛋的画法~
    小K的H5之旅-实战篇(一)
    SSM+Redis简介
    Hadoop HA(高可用搭建)
    hadoop完全分布式搭建(非高可用)
  • 原文地址:https://www.cnblogs.com/lovershowtime/p/11681206.html
Copyright © 2011-2022 走看看