• day71 作业


    url配置

    urlpatterns = [

    url(r'^cars/$',views.CarAPIView.as_view()),
    url(r'^cars/(?P<pk>d+)/$',views.CarAPIView.as_view()),
    

    ]
    settings配置

    REST_FRAMEWORK = {
    'DEFAULT_PARSER_CLASSES': [
    'rest_framework.parsers.JSONParser',
    'rest_framework.parsers.FormParser',
    'rest_framework.parsers.MultiPartParser'
    ],

    'DEFAULT_RENDERER_CLASSES': [
        'rest_framework.renderers.JSONRenderer',
        'rest_framework.renderers.BrowsableAPIRenderer',
    ],
    'EXCEPTION_HANDLER': 'api.exception.exception_handler',
    

    }
    异常处理模块

    from rest_framework.views import exception_handler as drf_exception_handler
    from rest_framework.response import Response

    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
    视图层views配置

    from rest_framework.views import APIView
    from rest_framework.response import Response

    class CarAPIView(APIView):
    def get(self,request,*args,**kwargs):
    print(request.method)
    print(request._request.method)
    return Response(data={"msg":"apiview get ok"},status=200)

    def post(self,request,*args,**kwargs):
        return Response({
            "msg":"apiview post ok"
        })
    

    class APIResponse(Response):
    def init(self, data_status=0, data_msg='ok', results=None, http_status=None, headers=None, exception=False, **kwargs):
    data = {
    'status': data_status,
    'msg': data_msg,
    }
    if results is not None:
    data['results'] = results
    data.update(kwargs)
    super().init(data=data, status=http_status, headers=headers, exception=exception)

    class CarAPIView(APIView):
    def get(self,request,*args,**kwargs):
    return APIResponse(data={"msg":"apiview get ok"})

  • 相关阅读:
    jsp servlet table 集合list 数据 绑定
    Linux下“/”和“~”的区别
    android 百度地图 定位获取位置失败 62错误
    PostgreSQL 空间数据类型point、 line等
    PostgreSQL 与 PostGIS
    MySQL及navicat for mysql中文乱码
    eclipse报错:Multiple annotations found at this line:
    Multiple markers at this line
    css中绝对定位和相对定位的区别
    关于display的属性:block和inline-block以及inline的区别,float相关说明
  • 原文地址:https://www.cnblogs.com/fwzzz/p/12119043.html
Copyright © 2020-2023  润新知