1、 给数据库添加数据
试图函数 (book表,含有title和price列)
# 给数据库添加数据
def index(request): book_list = [] for i in range(1, 101): book = Book.objects.create(title="book_%s" % i, price=i * 2) book_list.append(book) Book.objects.bulk_create(book_list) return HttpResponse("ok")
django分页的基本语法
paginator = Paginator(book_list, 20) # 对谁分页,每页分多少行数据 print(paginator.count) # 多少个分页对象 print(paginator.num_pages) #分了多少页 print(paginator.page_range) # range(1,6) 分了5页,从1-5 page = paginator.page(1) # 第n页的数据 print(page.object_list) # 取一页的数据 print(page.has_next()) # 上一页 print(page.has_previous()) # 下一页 print(page.next_page_number()) # 下一个的数字 print(page.previous_page_number()) # 上一页的数值
views函数
book_list = Book.objects.all() # print(book_list) paginator = Paginator(book_list, 10) try: current_page = int(request.GET.get("page", 1)) # 默认是1 page = paginator.page(current_page) except EmptyPage as e: page = paginator.page(1) return render(request, "index.html", locals())
index页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!-- 最新版本的 Bootstrap 核心 CSS 文件 --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> </head> <body> <h4>书籍列表</h4> <ul> {% for book in page %} <li>{{ book }}</li> {% endfor %} </ul> <nav aria-label="Page navigation"> <ul class="pagination"> {% if page.has_previous %} <li> <a href="?page={{ page.previous_page_number }}" aria-label="Previous"> <span aria-hidden="true">上一页</span> </a> </li> {% else %} <li class="disabled"> <a href="" aria-label="Previous"> <span aria-hidden="true">上一页</span> </a> </li> {% endif %} {% for num in paginator.page_range %} {% if current_page == num %} <li class="active"><a href="?page={{ num }}">{{ num }}</a></li> {% else %} <li><a href="?page={{ num }}">{{ num }}</a></li> {% endif %} {% endfor %} {% if page.has_next %} <li> <a href="?page={{ page.next_page_number }}" aria-label="Next"> <span aria-hidden="true">下一页</span> </a> </li> {% else %} <li class="disabled"> <a href="" aria-label="Next"> <span aria-hidden="true">下一页</span> </a> </li> {% endif %} </ul> </nav> </body> </html>