python Django高级操作-分页-定义CVS-发送邮件
迪丽瓦拉
2025-05-30 08:11:43
0次

分页

分页是指在web页面有大量数据需要显示,为了阅读方便在每个 页页中只显示部分数据。

优点:

1.方便阅读 2.减少数据提取量,减轻服务器压力。

Paginator对像

负责分页数据整体的管理 对象的构造方法

Paginator属性

Paginator方法

Paginator异常exception

page对象 定义

创建具体某一页的数据的管理 创建对象

Page对象方法

def test_page(request):page_num = request.GET.get('page',1)all_data = ['a','b','c','d','e']#初始化paginatorpaginator = Paginator(all_data,2)#初始化  具体页码的page对象c_page = paginator.page(int(page_num))return render(request,'test_page.html',locals())

CSV文件定义

逗号分隔值(Comma- Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)说明:可被常见制表工具,如excel等直 接进行读取

python中生成CSV文件

import csvwith open('test_csv.csv','w',newline='') as csvfile:writer = csv.writer(csvfile)writer.writerow(['a','b','c'])writer.writerow(['d','e'])

csv文件下载


内建用户系统

基本模型操作 - 创建用户

1、创建普通用户create_user

2、创建超级用户create_superuser

1、基本模型操作 - 删除用户

2、基本模型操作 -校验密码

3、基本模型操作 -修改密码

4、基本模型操作 -登陆状态

5、基本模型操作 -登陆状态校验

6、基本模型操作 -登陆状态取消

思考:

内建用户表字段不够用怎么办?比如添加手机号字段。

内建用户表 - 扩展字段

方案1:通过建立新表,跟内建做1对1 方案2:继承 内建的抽象user模型类

内建用户表 - 继承内建抽象类


文件上传

定义: 用户可以通过浏览器将图片等文件传至网站 场景: 用户上传头像 上传流程性的文档【pdf,txt】

上传规范 - 前端【HTML】

{% csrf_token %}

上传规范 - 前端【Django】

视图函数中,用request.FILES取文件框的内容 file=request.FILES['XXX']

配置文件的访问路径和存储路径

MEDIA_URL和MEDIA_ROOT需要手动绑定

步骤:主路由中 添加路由 说明:等价于做了MEDIA_URL开头的路由,Django接到该特征请求后去MEDIA_ROOT路径查找资源

文件写入方案1:传统的open方式

文件写入方案1:传统的ORM方式

字段: FileField(upload='子目录名')

Django发送邮件

业务场景 业务告警、邮件验证、密码找回 邮件相关协议 - SMTP
  • SMTP的全称是"Simple Mail Transfer Protocol",即简单邮件传输协议(25号 端口)。
  • 它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转
  • 属于“推送”协议
邮件相关协议 - IMAP
  • IMAP全称是Internet Mail Access Protocol,即交互式邮件访问协议,是一个应用层协议(端口是143)
  • 用来从本地邮件客户端(Outlook Express、Foxmail、 Mozilla Thunderbird等)访问远程服务器上的邮件。
  • 属于“拉取”协议
邮件相关协议 - POP3
  • POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,是TCP/IP协议族中的一员(默认端口是110)。
  • 本协议主要用于支持使用客户端远程管理在服务器上的电子邮件
  • 属于“拉取”协议
IMAP   VS  POP3 两者均为“拉取”型协议,负责从邮件服务器中下载邮件
  • IMAP 具备摘要浏览功能,可预览部分摘要,再下载整个邮件
  • IMAP 为双向协议,客户端操作可反馈给服务器
  • POP3必须下载全部邮件,无摘要功能
  • POP3为单向协议,客户端操作无法同步服务器

Django发邮件

Django中配置邮件功能,主要为SMTP协议,负贡发邮件 原理:
  • 给Django授权一-个邮箱
  • Django用该邮箱给对应收件人发送邮件
  • django.core.mail封装了电子邮件的自动发送SMTP协议
Django配置
#邮件相关配置 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.qq.com' # 腾讯QQ邮箱 SMTP 服务器地址 EMAIL_PORT = 25  # SMTP服务的端口号 EMAIL_HOST_USER = '输入QQ邮箱'  # 发送邮件的QQ邮箱 EMAIL_HOST_PASSWORD = '输入授权码'  # 在QQ邮箱->设置->帐户->“POP3/IMAP......服务” 里得到的在第三方登录QQ邮箱授权码
函数调用 测试案例: 等待几秒钟就可以收到测试邮件

练习 - 邮件告警

利用中间件实现

class ExceptionMW(MiddlewareMixin):def process_exception(self, request, exception):print(exception)print(traceback.format_exc())mail.send_mail(subject='mysite7报错啦~', message=traceback.format_exc(),from_email='输入QQ邮箱',recipient_list=settings.EX_EMAIL)return HttpResponse('---对不起 当前网页有点忙')

setting.py文件加上这条语句

EX_EMAIL = ['输入QQ邮箱']

 

相关内容

热门资讯

AI做攻略、“双向奔赴”……国... 本文转自:人民网人民网记者 许维娜今年国庆假期,AI(人工智能)成了不少年轻人的“旅行搭子”。行前做...
合肥的这个“梗”, 翻篇了 社交平台的评论区,曾长期流传一句专属于合肥的黑色幽默。有人问合肥哪里好玩,本地网友半开玩笑地回复:合...
7万+旅游中高层都在的群,今天... 做旅游这行,资源卡位、渠道互通、项目落地——往往就差一个“对的机会”。我们的行业社群已聚集70,00...
一场帐篷音乐节,如何让井研从“... 帐篷音乐节现场封面新闻记者 周洪攀10月的研溪湿地,晚风里裹着柑橘的清甜与民谣的回响。夜幕降临,10...
白鹤翩翩落星愿,上海迪士尼度假... 10月9日,世界候鸟日前夕,上海迪士尼度假区星愿公园的湖风里多了一分白鹤的灵动。三座白鹤雕塑正式揭幕...
成都锦江边赏初秋枫叶飘飘 目前,成都锦江边国华街枫叶树红了。近年来,国华街附近的几条街都栽种了红枫树,是城区较集中看枫叶的点位...
GBTA:商务旅行正在复苏,但... 亚太正在成为全球商务旅行增长的重要引擎。在经历疫情后的快速反弹之后,全球商务旅行正在进入一个新的增长...
从景区焕新到节赛引流 邹城双节... 齐鲁网·闪电新闻10月9日讯 中秋、国庆“双节”假期,邹城市文化和旅游局提前谋划、周密部署,立足自身...
江山如此多娇 且看石楼今朝 金秋十月,黄河岸畔秋意盎然,丰收盛会喜迎国庆。本次石楼国庆文旅活动以“江山如此多娇,且看石楼今朝”为...
海南国庆假期接待游客475.4... 2026年国庆假期,海南接待游客475.40万人次,较2025年增长13.1%,较2024年增长15...