路飞学城Python-Day108
- from django.shortcuts import render
- from django.core.paginator import Paginator, EmptyPage
- # Create your views here.
- from app01.models import Book
- def index(request):
- '''
- :param request:
- :return:
- '''
- # 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()
- paginator = Paginator(book_list, 10)
- # print(paginator.count)
- # print(paginator.num_pages)
- try:
- c_page = int(request.GET.get('page', 1))
- c_page = paginator.page(c_page)
- # print(page1.object_list)
- for i in c_page:
- print(i.title)
- except EmptyPage as e:
- c_page = paginator.page(1)
- return render(request, 'index.html', locals())
- from django.db import models
- # Create your models here.
- class Book(models.Model):
- title = models.CharField(max_length=32)
- price = models.DecimalField(decimal_places=2, max_digits=8)
models.py
- """PageDemo URL Configuration
- The `urlpatterns` list routes URLs to views. For more information please see:
- https://docs.djangoproject.com/en/2.1/topics/http/urls/
- Examples:
- Function views
- 1. Add an import: from my_app import views
- 2. Add a URL to urlpatterns: path('', views.home, name='home')
- Class-based views
- 1. Add an import: from other_app.views import Home
- 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
- Including another URLconf
- 1. Import the include() function: from django.urls import include, path
- 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
- """
- from django.contrib import admin
- from django.urls import path
- from app01 import views
- urlpatterns = [
- path('admin/', admin.site.urls),
- path('index/', views.index),
- ]
urls.py
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>分页器</title>
- <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>
- <ul>
- {% for book in c_page %}
- <li>
- {{ book.title }}:{{ book.price }}
- </li>
- {% endfor %}
- </ul>
- <nav aria-label="Page navigation">
- <ul class="pagination">
- {% if c_page.has_previous%}
- <li>
- <a href="?page={{ c_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 foo in page_range %}
- {% if c_page_n == foo %}
- <li class="active"><a href="?page={{ foo }}">{{ foo }}</a></li>
- {% else %}
- <li><a href="?page={{ foo }}">{{ foo }}</a></li>
- {% endif %}
- {% endfor %}
- {% if c_page.has_next %}
- <li>
- <a href="?page={{ c_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>
index.html
路飞学城Python-Day108的更多相关文章
- 路飞学城—Python爬虫实战密训班 第三章
路飞学城—Python爬虫实战密训班 第三章 一.scrapy-redis插件实现简单分布式爬虫 scrapy-redis插件用于将scrapy和redis结合实现简单分布式爬虫: - 定义调度器 - ...
- 路飞学城—Python爬虫实战密训班 第二章
路飞学城—Python爬虫实战密训班 第二章 一.Selenium基础 Selenium是一个第三方模块,可以完全模拟用户在浏览器上操作(相当于在浏览器上点点点). 1.安装 - pip instal ...
- 路飞学城Python爬虫课第一章笔记
前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 之前看阮一峰的博客文章,介绍到路飞学城爬虫课程限免,看了眼内容还不错,就兴冲冲报了名,99块钱满足以下条件会返还并送书送视频. 缴 ...
- 路飞学城-Python开发集训-第3章
学习心得: 通过这一章的作业,使我对正则表达式的使用直接提升了一个level,虽然作业完成的不怎么样,重复代码有点多,但是收获还是非常大的,有点找到写代码的感觉了,遗憾的是,这次作业交过,这次集训就结 ...
- 路飞学城-Python开发集训-第1章
学习体会: 在参加这次集训之前我自己学过一段时间的Python,看过老男孩的免费视频,自我感觉还行,老师写的代码基本上都能看懂,但是实际呢?....今天是集训第一次交作业的时间,突然发现看似简单升级需 ...
- 路飞学城-Python开发集训-第4章
学习心得: 学习笔记: 在python中一个py文件就是一个模块 模块好处: 1.提高可维护性 2.可重用 3.避免函数名和变量名冲突 模块分为三种: 1.内置标准模块(标准库),查看所有自带和第三方 ...
- 路飞学城-Python开发集训-第2章
学习心得: 这章对编码的讲解超级赞,现在对于编码终于有一点认知了,但还没有大彻大悟,还需要更加细心的琢磨一下Alex博客和视频,以前真的是被编码折磨死了,因为编码的问题而浪费的时间很多很多,现在终于感 ...
- 路飞学城-Python开发-第二章
''' 数据结构: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家' ...
- 路飞学城-Python开发-第三章
# 数据结构: # goods = [ # {"name": "电脑", "price": 1999}, # {"name&quo ...
- 路飞学城-Python开发-第一章
# 基础需求: # 让用户输入用户名密码 # 认证成功后显示欢迎信息 # 输错三次后退出程序 username = 'pandaboy' password = ' def Login(username ...
随机推荐
- 在TOMCAT上手工生成及部署WAR包
以前是用ECLIPSE或是其它IDE自动生成,不明了. 这次手写JAVA,先生成CALSS来部署, 之后用WAR包来部署.(查了资料,好像直接用JAR来部署TOMCAT的WEB项目,不得行) 就上次生 ...
- SQL SERVER高级知识积累
什么叫做高可用服务器? 高可用服务器简单来理解就是不宕机的服务器 什么叫走服务器的自动化灾备? 自动灾备的意思就是,让从服务器自动变成主服务器 sql server的聚合是什么? 事务会引起性能下降, ...
- windows集成身份验证
集成windows身份验证 这种验证方式里面也分为两种情况 NTLM验证 这种验证方式需要把用户的用户名和密码传送到服务端,服务端验证用户名和密码是否和服务器的此用户的密码一致.用户名用明码传送,但是 ...
- Data Binding Guide——google官方文档翻译(下)
这篇博客是Data Binding Guide官网文档翻译的下篇.假设没看过前半部分翻译的能够先看Data Binding Guide--google官方文档翻译(上) 一,数据对象 不论什么不含业 ...
- oracle regexp_like介绍和例子
oracle regexp_like介绍和例子 学习了:http://www.cnblogs.com/einyboy/archive/2012/08/01/2617606.html ORACLE中的支 ...
- hibernate之7.one2many双向
表结构 实体类关系 实体类源代码 Student package com.demo.model; import java.io.UnsupportedEncodingException; import ...
- 关于使用chrome插件改动全部的站点的响应responseHeaders头的注意
1 眼下我掌握的调试技巧非常不方便,如今使用的是浏览器动作,每次都须要点击那个popup页面弹出,然后右键->查看元素,才干显示它的调试面板.一点击某些位置它又没有了; 2 改动响应报头的值时, ...
- cocos2dx3.0 结构图
图片较大.请下载看 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdzE4NzY3MTA0MTgz/font/5a6L5L2T/fontsize/400/f ...
- HDU 4386 Quadrilateral(数学啊)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4386 Problem Description One day the little Jack is p ...
- c26---文件包含include
// // main.c // 文件包含 #include <stdio.h> // 函数可以重复声明, 但不能重复定义 void test(); void test(); void te ...