目录
django内置序列化组件(drf前身)
urls.py:
# 序列化组件
path('ab_ser/',views.ab_ser),
views.py:
'''前后端分离的项目 视图函数只需要返回json格式的数据即可'''
from app01 import models
from django.http import JsonResponse
def ab_ser(request):
# 1.查询所有的书籍对象
book_queryset = models.Book.objects.all() # queryset[对象、对象]
# # 2.封装成大字典返回(自己手动处理)
# data_dict = {}
# for book_obj in book_queryset:
# tmp_dict = {}
# tmp_dict['pk'] = book_obj.pk
# tmp_dict['title'] = book_obj.title
# tmp_dict['price'] = book_obj.price
# tmp_dict['info'] = book_obj.info
# data_dict[book_obj.pk] = tmp_dict #{1:{},2:{},3:{},4:{}}
# return JsonResponse(data_dict)
# 导入内置序列化模块(djano自带)
from django.core import serializers
# 调用该模块下的方法,第一个参数是你想已什么样的方式序列化你的数据
res = serializers.serialize('json',book_queryset) # json序列化数据
return HttpResponse(res)
阅读不是太友好,需要借助于bejson工具,把相关数据拷贝过去阅读:https://www.bejson.com/
批量操作数据
def ab_bk_func(request):
# 1.往books表中插入10万条数据
# for i in range(1, 100000):
# models.Books.objects.create(title='第%s本书' % i)
"""直接循环插入 10s 500条左右"""
book_obj_list = [] # 可以用列表生成式[... for i in ... if ...] 生成器表达式(... for i in ... if ...)
for i in range(1, 100000):
book_obj = models.Books01(title='第%s本书' % i) # 单纯的用类名加括号产生对象
book_obj_list.append(book_obj)
# 批量插入数据
models.Books01.objects.bulk_create(book_obj_list)
"""使用orm提供的批量插入操作 5s 10万条左右"""
# 2.查询出所有的表中并展示到前端页面
book_queryset = models.Books01.objects.all()
return render(request, 'BkPage.html', locals())
分页器
自定义分页器的使用
form组件
标签:...,obj,分页,自定义,models,django,book,dict,序列化
From: https://www.cnblogs.com/winter-yu1989/p/16994566.html