python关键字import_Python之Django之import和关键字-Go语言中文社区

这篇博客介绍了Python中的常用库,如json、time、os等,并展示了如何处理时间格式、文件操作和子进程管理。此外,文章详细讲解了Django的分页功能,包括Paginator模块的使用,如获取总记录数、总页数、页码范围以及页面内容。通过实例展示了如何在视图函数中实现分页,以提高用户体验。
摘要由CSDN通过智能技术生成

import json:使用 JSON 函数需要导入 json 库。

import time:时间模块。

import sys:系统模块。

56351d6e78a3ec1e0f585e0a9c3902a6.png

from time import strftime, localtime:获取时间并格式化。

print(strftime('%Y-%m-%d %H:%M:%S',localtime()))

from itertools import chain:高效循环的迭代函数集合.

import hashlib:提供了常见的摘要算法,如MD5,SHA1等等,

hashlib.md5()

reload(sys)

在程序中加入以下代码:即可将编码设置为utf8

import sys

reload(sys)

sys.setdefaultencoding('utf8')

9、

os.getcwd()获取的当前最外层调用的脚本路径

os.path.dirname():去掉脚本的文件名,返回目录。

os.path.dirname(os,path.realname(__file__)):指的是,获得你刚才所引用的模块 所在的绝对路径,__file__为内置属性。

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

9、 dict:Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。

10、list:列表,类似于php的数组,索引从0开始。

len(list):列表元素个数

11、

ord()函数主要用来返回对应字符的ascii码

chr()主要用来表示ascii码对应的字符他的输入时数字,可以用十进制,也可以用十六进制。

12、

subprocess.Popen:用subprocess这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去,还可以得到子进程的返回值。(用subprocess.Popen新建一个进程(子进程)去开启一个shell)

subprocess意在替代其他几个老的模块或者函数,比如:os.system os.spawn* os.popen* popen2.* commands.*

subprocess.Popen("cat test.txt", shell=True)

这是因为它相当于

subprocess.Popen(["/bin/sh", "-c", "cat test.txt"])

>>> from django.core.paginator import Paginator#导入Paginator模块

>>> list1=[i for i in range(0,150)]#使用列表生成器生成一个包含150个数字的列表

>>> page1=Paginator(list1,10)#生成一个Paginator对象

>>> print(page1.count)#打印总的记录数,即列表list1的长度

150

>>> print(page1.num_pages)#打印总的页数,即总记录数除以每页显示的条目数

15

>>> print(page1.page_range)#页数的列表

range(1, 16)

>>> print(page1.page(1))#打印第一页的page对象

>>> page1.page(1).object_list#打印第一页的所有记录

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> page1.page(2).object_list#打印第二页的所有记录

[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

>>> page1.page(2).next_page_number()#打印当前的页(第2页)的下一页的页码

3

>>> page1.page(2).has_next()#第2页是否有下一页

True

>>> page1.page(2).has_previous()#第2页是否有上一页

True

>>> page1.page(2).has_other_pages()#第2是否有其他页

True

>>> page1.page(2).start_index()#第2页第一条记录的序号

11

>>> page1.page(2).end_index()#第2页最后一条记录的序号

20

#导入render和HttpResponse模块

from django.shortcuts import render,HttpResponse

#导入Paginator,EmptyPage和PageNotAnInteger模块

from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger

#从Django项目的应用中导入模块

from app01.models import *

def index(request):

#获取Book数据表中的所有记录

book_list=Book.objects.all()

#生成paginator对象,定义每页显示10条记录

paginator = Paginator(book_list, 10)

#从前端获取当前的页码数,默认为1

page = request.GET.get('page',1)

#把当前的页码数转换成整数类型

currentPage=int(page)

try:

print(page)

book_list = paginator.page(page)#获取当前页码的记录

except PageNotAnInteger:

book_list = paginator.page(1)#如果用户输入的页码不是整数时,显示第1页的内容

except EmptyPage:

book_list = paginator.page(paginator.num_pages)#如果用户输入的页数不在系统的页码列表中时,显示最后一页的内容

return render(request,"index.html",locals())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值