1 、批量数据导入
建立Django项目:pageDemo
modles
from django.db import models class Book(models.Model): id = models.AutoField(primary_key=True) title = models.CharField(max_length=32) price = models.DecimalField(max_digits=8, decimal_places=2)
数据库迁移
python manage.py makemigrations
python manage.py migrate
批量导入数据
def index(request): # 批量生成数据 # 方式一 # for i in range(100): # Book.objects.create(title='book_%s'%i,price=i*i)
#方式二 book_list = [] for i in range(100): book_obj = Book(title="book_%s" % i, price=i * i) book_list.append(book_obj) Book.objects.bulk_create(book_list) # 批量导入 return render(request,'index.html')
对数据库的批量数据进行展示:
def index(request): ''' # 批量生成数据 # 方式一 # for i in range(100): # Book.objects.create(title='book_%s'%i,price=i*i) book_list = [] for i in range(100): book_obj = Book(title="book_%s" % i, price=i * i) book_list.append(book_obj) Book.objects.bulk_create(book_list) # 批量导入 ''' book_list=Book.objects.all() return render(request,'index.html',{'book_list':book_list})
index.html
<body> <ul> {% for book in book_list %} <li> {{ book.title }}:{{ book.price }} </li> {% endfor %} </ul> </body>
运行结果:
数据过多在一个页面展
2、分页器的使用
#导入分页器
from django.core.paginator import Paginator def index(request): book_list=Book.objects.all() # 分页器 1.对谁做分页, 每页几条数据 paginator=Paginator(book_list,10) print("count:", paginator.count) # 数据总数 print("num_pages", paginator.num_pages) # 总页数 print("page_range", paginator.page_range) # 页码的列表# 显示某一页的具体方式: page1=paginator.page(1) # 方式一 print('page1.object_list',page1.object_list) # 方式二 for i in page1: print(i) return render(request,'index.html',{'book_list':book_list})