zoukankan      html  css  js  c++  java
  • day 71 作业

    总路由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'))
    ]
    

    分发路由urls.py

    from django.conf.urls import url
    from django.contrib import admin
    from . import views
    urlpatterns = [
        # url(r'^admin/', admin.site.urls),
        url(r'^books/$', views.BookView.as_view()),
        url(r'^books/(?P<pk>d+)/$', views.BookView.as_view())
    ]
    

    settings配置

    # 先注册'rest_framework'
    
    REST_FRAMEWORK = {
        'DEFAULT_RENDERER_CLASSES': [
            'rest_framework.renderers.JSONRenderer',
            'rest_framework.renderers.BrowsableAPIRenderer',
        ],
    
        'DEFAULT_PARSER_CLASSES': [
            'rest_framework.parsers.JSONParser',
            'rest_framework.parsers.FormParser',
            'rest_framework.parsers.MultiPartParser'
        ],
    
        'EXCEPTION_HANDLER': 'api.exception.exception_handler',
    }
    

    视图views.py

    from rest_framework.response import Response
    from rest_framework.views import APIView
    from rest_framework.renderers import BrowsableAPIRenderer, JSONRenderer
    from rest_framework.parsers import JSONParser, FormParser, MultiPartParser
    
    
    class BookView(APIView):
        # 配置局部渲染类
        RENDERER_CLASSES = [BrowsableAPIRenderer, JSONRenderer]
    
        # 局部配置解析类
        PARSER_CLASSES = [JSONParser, FormParser, MultiPartParser]
    
        def get(self, request, *args, **kwargs):
            return Response(
                data={
                    'msg': 'view get ok'
                }
            )
    

    处理响应 服务端异常处理

    # 应用下建立 exception, 重写exception_handler方法
    
    from rest_framework.response import Response
    from rest_framework.views import exception_handler as drf_exception_handler
    
    def exception_handler(exc, context):
        response = drf_exception_handler(exc, context)
        detail = '%s - %s - %s' % (context.get('view'), context.get('request').method, exc)
        if not response:
            response = Response({'detail': detail})
        else:
            response.data = {'detail': detail}
    
        return response
    
  • 相关阅读:
    java 如何读取jar包外的properties文件(转)
    window.showModalDialog()之返回值
    Java web.xml随笔
    如何获取业务表中各位业务员的业务类型A与业务类型B的业务金额
    web.config Web配置文件(*.config)
    Eclipse常用捷键
    css圆角效果
    回车键事件
    WCF学习 之旅
    validation
  • 原文地址:https://www.cnblogs.com/whkzm/p/12104509.html
Copyright © 2011-2022 走看看