drf work 01

api\urls

from django.conf.urls import url
from . import views
urlpatterns = [
    url(r'^cars/$',views.Cars.as_view()),
    # url(r'^cars/(?P<pk>\d+)/$',views.Cars.as_view()),
    url(r'^cars/(?P<pk>\d+)/$', views.Cars.as_view())
]

views

from django.http import JsonResponse
from django.views import  View
from . import  models
# Create your views here.
class Cars(View):

    def _single_get(self,pk):
        car_dic = models.Car.objects.filter(pk=pk).values('title','price','img','info').first()
        return car_dic

    def _mult_get(self):
        car_query = models.Car.objects.values('title','price','img','info')
        # print(type(car_query))
        car_list = list(car_query)
        return car_list

    def get(self,request,*args,**kwargs):
        pk = kwargs.get("pk")
        # print(pk)

        if pk:
            car = self._single_get(pk)
            return JsonResponse({
                'status':0,
                'msg':'solo get ok',
                'car':car
            })
        else:
            car_list=self._mult_get()
            return JsonResponse({
                'status':0,
                'msg':'mute get ok',
                'car_list':car_list,
            })

    def post(self,request,*args,**kwargs):
        pk = kwargs.get("pk")
        print(pk)
        if pk:
            return JsonResponse({
                'status':0,
                'msg':'solo post ok',
            })
        else:
            return JsonResponse({
                'status':0,
                'msg':'mute post ok',
            })


    def put(self,request,*args,**kwargs):
        pk = kwargs.get("pk")
        if pk:
            return JsonResponse({
                'status':0,
                'msg':'solo put ok',
            })
        else:
            return JsonResponse({
                'status':0,
                'msg':'mute put ok',
            })

    def patch(self, request,*args, **kwargs):
        pk = kwargs.get("pk")
        if pk:
            return JsonResponse({
                'status': 0,
                'msg': 'solo patch ok',
            })
        else:
            return JsonResponse({
                'status': 0,
                'msg': 'mute patch ok',
            })

    def delete(self,request, *args, **kwargs):
        pk = kwargs.get("pk")
        if pk:
            return JsonResponse({
                'status': 0,
                'msg': 'solo delete ok',
            })
        else:
            return JsonResponse({
                'status': 0,
                'msg': 'mute delete ok',
            })

# post(title,,,)
# car_obj = models.Car(title,,,)
# car_obj.save()
#patch(pk,price)
#car_obj= get_car(pk=pk).update(price=price)
#delete(pk)
# models.Car.objects.filter(pk=pk).delete()

Guess you like

Origin www.cnblogs.com/agsol/p/12088257.html