而我们现在的原始数据里 1.数据详情数据载ISBN搜索和关键词搜索返回的数据格式不统一 2.原始数据里并没有搜索关键词,需要手动添加 3.ISBN搜索只返回0或1条数据,需要手动计算出总记录数
小建议: 1.在python中,并不建议,为不同包下的文件起不同的后缀名,如book_web.py,book_model.py 2.数据处理,如果是前后端分离的项目,建议在客户端有js去操作,如果是模板渲染HTML,建议在服务器端去操作 3.一种编程思想:在处理多个数据的时候,可以先封装出处理单个数据的方法,然后再循环调用这个方法,来处理多个数据。
class BookViewModel:
@classmethod
def package_single(cls, data, keyword):
returned = {
'book': [],
'keyword': keyword,
'total': 0
}
if data:
returned['total'] = 1
returned['book'] = [BookViewModel.__cut_book_data(data)]
return returned
@classmethod
def package_collection(cls, data, keyword):
returned = {
'book': [],
'keyword': keyword,
'total': 0
}
if data:
returned['total'] = data['total'],
returned['book'] = [BookViewModel.__cut_book_data(book) for book in data["books"]]
return returned
@classmethod
def __cut_book_data(cls, data):
book = {
'title': data['title'],
'publisher': data['publisher'],
'pages': data['pages'] or '',
'author': '、'.join(data['author']),
'price': data['price'],
'summary': data['summary'] or '',
'image': data['image']
}
return book