广告小程序后端开发(6.获取类别逻辑)

1.获取类别逻辑:

1.在apps/ad目录下新建serializers.py文件进行序列化:

from rest_framework import serializers
from .models import Category,Good,Prize,Images


class CategoryModelSerializer(serializers.ModelSerializer):
    class Meta:
        model = Category
        fields="__all__"


class GoodModelSerializer(serializers.ModelSerializer):
    class Meta:
        model = Good
        fields="__all__"


class PrizeModelSerializer(serializers.ModelSerializer):
    class Meta:
        model = Prize
        fields="__all__"


class ImagesModelSerializer(serializers.ModelSerializer):
    class Meta:
        model = Images
        fields="__all__"

2.在apps/ad/views.py中编写获取类别数据逻辑:

from django.shortcuts import render
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.renderers import JSONRenderer,BrowsableAPIRenderer
from .serializers import CategoryModelSerializer,GoodModelSerializer,PrizeModelSerializer,ImagesModelSerializer
from .models import Category,Good,Images,Prize
from datetime import datetime
# Create your views here.


class GetCategory(APIView):
    """
    获取类别数据
    """
    renderer_classes = [JSONRenderer]  # 渲染器

    def get(self, request):
        category_list = Category.objects.all()
        re = CategoryModelSerializer(category_list, many=True)
        return Response(re.data)

3.在apps/ad目录下新建urls.py:

from django.urls import path
from .views import GetCategory

urlpatterns = [
    path('getcategory/',GetCategory.as_view())
]

 4.在gg/urls.py中:

from django.urls import path,include
from django.views.static import serve
from gg.settings import MEDIA_ROOT

import xadmin

urlpatterns = [
    #path('admin/', admin.site.urls),
    path('media/<path:path>',serve,{'document_root':MEDIA_ROOT}),
    path('xadmin/', xadmin.site.urls),
    path('users/',include('users.urls')),
    path('ad/',include('ad.urls'))
]

 

posted @ 2019-05-14 04:05  雪落忆海  阅读(245)  评论(2编辑  收藏  举报