【Django 框架模板】「CMS模板」apps篇:通用简洁的文章内容API配置serilaizes、filters

Django3.0中app的通用简洁的配置模板,这里以新闻CMS系统举例,根据自己的实际情况进行增减。

Django 全栈开发 全部文章索引目录传送门:
Django 全栈开发

内容简介

API流式数据的处理搭建模板

编写应用中的文件实现数据流API

serilaizes.py

在models同级目录中创建serilaizes.py

serilaizes模板

这里通过控制fields内容API接口流可以展示的字段信息,内容定义的基本模板大致这样

class 自定义类名Serializer(serializers.ModelSerializer):
	# 如果原始数据字段存在主外键关系,需要将有ForeignKey的内容进行添加
	category = 关联外键类的Serializer() # 存在外键的class的Serializer
	class Meta:
		model = 自定义类名对应的模型 # models.py中的模型名称
		fields = "__all__" # 表示全部字段输出
		fields = ('col_name_1', 'col_name_2')  # 表示serice中的字段内容输出
		fields = ['col_name_1', 'col_name_2']  # 表示serice中的字段内容输出

serilaizes编写

from rest_framework import serializers
from .models import *
from users.serilaizes import *

# 一级分类
class ArticleCategorySerializer(serializers.ModelSerializer):
    class Meta:
        model = ArticleCategory
        fields = ["category_name"]

# 子栏目
class ArticleItemSerializer(serializers.ModelSerializer):
    item_category = ArticleCategorySerializer()

    class Meta:
        model = ArticleItem
        fields = ["item_category", "item_name"]

# Tag标签
class ArticleTagSerializer(serializers.ModelSerializer):
    class Meta:
        model = ArticleTag
        fields = ["tag_name", "tag_slug"]  # API接口中显示的字段内容

# 全部info
class ArticleInfoSerializer(serializers.ModelSerializer):
    # 外键相关对象
    article_item = ArticleItemSerializer()
    article_author = UserSerializer()
    article_tags = ArticleTagSerializer(many=True)

    class Meta:
        model = ArticleInfo
        fields = "__all__"

# 文章detail
class ArticleContentSerializer(serializers.ModelSerializer):
    class Meta:
        model = ArticleDetail
        fields = "__all__"

filters.py

暂时用不上未来再更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr数据杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值