Django高级操作-分页-定义CVS-发送电子邮件
分页意味着有很多数据需要在网页上显示。为了方便阅读,每页仅显示部分数据
。
优点:
1。易于阅读
2。减少数据提取量,减轻服务器压力。
Paginator对象
负责分页数据的整体管理
对象的构造方法
Paginator属性
Paginator方法
Paginator异常异常
页面对象定义
创建特定页面的数据管理
创建对象
页面对象方法
def test_page(request):
page_num = request. GET. 获取( ' page',1)
all_data = ['a','b','c','d','e']
#初始化分页器
paginator = Paginator(all_data,2)
#初始化特定页码的Page对象
c_page = paginator.page(int(page_num))
return Kong(request,'test_page.html',locals())
CSV文件定义
逗号分隔值(CSV,有时也称为字符分隔值,因为分隔字符不必是逗号),其文件以纯文本形式存储表格数据(数字和文本)说明:可以用常用的制表工具如excel可以直接读取
在python中生成CSV文件
导入csv
with 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、创建超级用户user Create_superuser
基本模型操作 - 删除用户
基本模型操作 - 验证密码
基本模型操作 - 更改密码
基本模型操作 - 登录状态
基本模型操作 - 登录状态验证
基本运营模式-登录状态取消
思考:
内置用户表字段不够怎么办?例如,添加手机号码字段
内部用户表 - 完整字段
选项 1:创建一个新表并与选项
进行一对一 :继承内置抽象用户模型类?头像上传
处理文档上传[pdf、txt]
上传规范-前端[HTML]
{‸ {‸ {% csrf
️
函数,使用 request.FILES 获取文件框的内容
file= request.FILES['XXX']
配置文件访问路径和存储path
MEDIA_URL和MEDIA_ROOT必须手动绑定
步骤:在主路由中添加路由❀ do MEDIA_URL 路由开头,Django收到功能请求后会去MEDIA_ROOT路径寻找资源。
文件写入方案一:传统开放方式
文件写入方案一:传统ORM方式
字段:FileField(upload='子目录名称')♷s业务场景
业务报警、邮箱验证、找回密码
与邮件相关的协议——SMTP
SMTP的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议(端口25)。
这是一组从源地址向目标地址发送电子邮件的规范,它控制邮件中转
属于“推送”协议
与邮件相关的协议 - IMAP
IMAP 全称是 Internet Mail Access Protocol,即交互式邮件访问协议。它是一个应用层协议(端口为143)
用于从本地邮件客户端(Outlook Express、Foxmail、Mozilla Thunderbird 等)邮件访问远程服务器。 ️标准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'Backends.smtp'❀EmailBacken SMTP #在邮箱QQ- >设置->帐户->“从“IMAP...服务”收到POP3/Box授权码第三方登录
函数调用
测试用例:
等待几秒钟以接收测试电子邮件
练习-邮件签名
使用中间件实现
class ExceptionMW(MiddlewareMixin):,异常):
打印(异常) 打印(回溯。 format_exc())
mail.send_mail('~我的网站'举报=traceback.format_exc(),
from_email='输入QQ邮箱',recipient_list=settings.EX_EMAIL)
return HttpResponse('---抱歉,网页现在有点忙')♸settings. py 文件添加了这条语句
EX_EMAIL = ['输入QQ邮箱']
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。