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
暂时用不上未来再更新