Django4.0 RestFramework 序列器使用教程

2022-09-0422:58:40后端程序开发Comments738 views字数 1144阅读模式

应用目录下新建一个serializer.py 例如:/home/serializer.py文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/27549.html

from rest_framework import serializers
from . import models


class BannerModelSerializer(serializers.ModelSerializer):
    class Meta:
        # 指定轮播图数据模型
        model = models.Banner
        # 指定需要返回的数据,例如只需要 title, link, img_url字段的数据
        fields = ['title', 'link', 'img_url']


class NavModelsSerializer(serializers.ModelSerializer):
    class Meta:
        # 指定导航数据模型
        model = models.Nav
        # 指定需要返回的数据
        fields = ['id', 'title', 'link', 'is_site']

编写视图层代码:/home/views.py文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/27549.html

from rest_framework.generics import ListAPIView
from . import models
from .serializer import BannerModelSerializer, NavModelsSerializer

# banner轮播图
class BannerView(ListAPIView):
    queryset = models.Banner.objects.filter(is_show=True, is_delete=False).order_by('orders')[0:contains.BANNER_LENGTH]
    serializer_class = BannerModelSerializer

# 顶部导航栏
class NavTopView(ListAPIView):
    queryset = models.Nav.objects.filter(is_show=True, is_delete=False, position=1).order_by('orders')[0:contains.NAV_TOP_LENGTH]
    serializer_class = NavModelsSerializer

路由层代码:/home/urls.py文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/27549.html

from django.urls import path
from . import views

urlpatterns = [
    # banner接口
    path(r'banner/', views.BannerView.as_view()),
    # 导航栏接口
    path(r'nav/top/', views.NavTopView.as_view()),
]

至此,就写好了两个接口;访问/banner/和/nav/top/查看返回的数据:
Django4.0 RestFramework 序列器使用教程
Django4.0 RestFramework 序列器使用教程文章源自菜鸟学院-https://www.cainiaoxueyuan.com/bc/27549.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/bc/27549.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定