• drf基础组件练习


    练习:

    视图类渲染,解析, 异常配置:

    作业:    
    	1.、简单过过请求模块的源码流程,建立一个视图类,完成一项渲染模块与解析模块的全局,局部配置
    
        2.、在自己项目中自定义一下异常处理函数,并配置给项目
    

    settings.py

    全局配置:
    	
    REST_FRAMEWORK = {
    		# 解析模块
        'DEFAULT_PARSER_CLASSES' : {
            'rest_framework.parsers.JSONParser', 
            'rest_framework.parsers.FormParse', 
            'rest_framework.parsers.JSONParser',  
        },
    		#渲染模块
    	'DEFAULT_RENDERER_CLASSES': {
            'rest_framework.renderers.JSONRenderer',    
            'rest_framework.renderers.BrowsableAPIRenderer',
        },
    		# 自定义配置异常模块
         'EXCEPTION_HANDLER': 'api.exception.exception_handler', 
    }
    

    views.py:

    视图类局部配置:
    
    from rest_framework.parsers import JSONParser,FormParser,MultiPartParser
    from rest_framework.renderers import JSONRenderer
    from rest_framework.renderers import BrowsableAPIRenderer
    from rest_framework.views import APIView
    from rest_framework.response import Response
    
    class Student(APIView):
        parser_classes = [JSONParseer]   #局部解析配置
    	renderer_classes = [JSONRenderer] #局部渲染配置
    	
    	def get(self,request,*args,**kwargs):
            return Response('drf get ok')
    
    	def post(self,request,*args,**kwargs):
            return Response('drf post ok')
    
    
    

    exception.py

    from rest_framework.views import exception_handler as drf_exception_handler
    from rest_framework.response import Response
    from rest_framework import status  
    
    def exception_handler(exc, context):     
        response = drf_exception_handler(exc, context)
        detail = '%s-%s-%s' %(context.get('view'),context.get('request'),exc)
        if not response:  
            response = Response({'detail':detail},, status=status.HTTP_500_INTERNAL_SERVER_ERROR, exception=True)
        else:
            response.data = {'detail':detail}
        return response
             
    

    urls.py

    urls.py:
        from django.conf.urls import url, include
        from django.contrib import admin
    
        urlpatterns = [
            url(r'^admin/', admin.site.urls),
            url(r'^api/', include('api.urls')),
        ]
    
    api.urls.py:
        
        from django.conf.urls import url
        from . import  views
        urlpatterns = {
            url(r'^student/$',views.Student.as_view()),
        }
    
  • 相关阅读:
    OpenCV3入门(八)图像边缘检测
    OpenCV3入门(七)图像形态学
    OpenCV3入门(六)图像滤波
    OpenCV3入门(五)图像的阈值
    OpenCV3入门(四)图像的基础操作
    OpenCV3入门(三)基本绘图函数
    OpenCV3入门(二)Mat操作
    OpenCV3入门(一)环境搭建与实验
    图像边缘检测
    图像增强之空间域锐化
  • 原文地址:https://www.cnblogs.com/shaozheng/p/12093853.html
Copyright © 2020-2023  润新知