日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

【Flask项目2】python对象分页数据序列化基类(5)

發布時間:2025/3/21 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Flask项目2】python对象分页数据序列化基类(5) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

comment—utils—serializer.py文件

class BasePaginateSerializer(object):"""分頁數據序列化基類"""def __init__(self, paginate): #簡化代碼,可以滿足對象的拷貝self.pg = paginateif not self.pg:return paginateself.has_next = self.pg.has_next # 是否還有下一頁self.has_prev = self.pg.has_prev # 是否還有前一頁self.next_num = self.pg.next_num # 下一頁的頁碼self.page = self.pg.page # 當前頁的頁碼self.pages = self.pg.pages # 匹配的元素在當前配置一共有多少頁self.total = self.pg.total # 匹配的元素總數self.page_size = self.pg.page_size #一頁最多顯示多少條數據def get_object(self, obj):"""對象的內容,系列化的個性操作,子類重寫"""return {}#def paginateInfo(self):"""分頁信息,是否有上下頁,頁數,總頁數等"""return {'has_next': self.has_next,'has_prev': self.has_prev,'next_num': self.next_num,'page': self.page,'pages': self.pages,'total': self.total,'page_size': self.page_size}def to_dict(self):"""序列化分頁數據"""pg_info = self.paginateInfo()paginate_data = []for obj in self.pg.items:paginate_data.append(self.get_object(obj))return {'paginateInfo': pg_info, #分頁對象本身'totalElements': pg_info['total'], #總記錄數'content': paginate_data #當前一頁所需要展示的數據列表}class BaseSerializer(object):'''把python對象轉化為字典'''def __init__(self, data):self.data = datadef to_dict(self):# 個性化的函數需要子類重寫return {}class BaseListSerializer(object):"""對象組序列化基類"""def __init__(self, data):self.data_list = data# self.select_type_serializer()def select_type_serializer(self):if not self.data_list:return Noneif isinstance(self.data_list, list): # 列表解析if len(self.data_list) == 0:return Noneelse:self.data_list = [dict(zip(result.keys(), result)) for result in self.data_list]def to_dict(self):"""個性化的系列化,子類重寫 """return {} 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的【Flask项目2】python对象分页数据序列化基类(5)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。