django 学习五

本文详细介绍如何通过网站开启客户端授权、配置邮箱服务发送邮件,以及如何在Django项目中批量导入数据和进行数据迁移的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

发送邮件

基础:
POP3:接受邮件服务器,对邮件的操作不会同步到服务器。
IMAP:接受邮件服务器,对邮件的操作会同步到服务器。
SMTP:发送邮件服务器。
在这里插入图片描述
1.在网站开启客户端授权
登录邮箱之后,勾选如下图所示的服务。其间会让你设置客户端授权码,以作后用。
在这里插入图片描述
2.新建项目和app
在这里插入图片描述
3.修改mysite\mysite\settings.py
在settings.py的后面加上这些,其中 EMAIL_USE_SSL和EMAIL_USE_TLS是互斥的,只能有一个为True。
在这里插入图片描述
4.修改mysite\mail\views.py
在这里插入图片描述
5.修改mysite\mysite\urls.py
在这里插入图片描述
6.运行服务器
在这里插入图片描述
7.查看邮件
在这里插入图片描述
在这里插入图片描述

数据导入

将网上下载的一些数据,批量导入数据库
1.新建项目以及app
在这里插入图片描述
2.修改mysite\blog\models.py
在这里插入图片描述
3.修改mysite\mysite\settings.py
在这里插入图片描述
4.创建相应的表
在这里插入图片描述
5.新增一篇博文
我们先尝试新增一篇博文,了解一下流程。进入django环境的终端,这里的create会自动保存数据。
在这里插入图片描述
6.批量导入
方法一:
(1)新建要导入文件mysite\put_data.txt
(2)由于在终端导入不太方便,我们再新建一个脚本文件mysite\put.py
在这里插入图片描述
在这里插入图片描述
在终端中运行,发现已经成功导入了!
在这里插入图片描述
注意: 为了避免重复导入数据,可以使用 Blog.objects.get_or_create(title=title,content=content) 指令代替 Blog.objects.create(title=title,content=content)
方法二:
Blog.objects.create() 每保存一条数据就执行一次sql,使用 Blog.objects.bulk_create() 是执行一条sql存入多条数据,会快很多。
在这里插入图片描述

数据迁移

方法一: 使用django自带的命令
1.从原来的数据库导出所有数据
(1)使用 python manage.py dumpdata [appname] > appname _data.json 指令,不指定appname时默认导出所有的app。
(2)使用 python manage.py loaddata appname_data.json
指令导入数据,此时不用指定appname。
(3)常用的指令:python manage.py dumpdata auth > auth.json 可以导出用户数据。
在这里插入图片描述
2.将所有数据传送到另一个服务器或电脑上
在这里插入图片描述
注意: 这种方法很容易出错,但最大的好处是可以跨数据库进行导入导出。

方法二: 使用数据库自带的命令
假如使用mysql,导出数据:

mysqldump -h 主机名 -P 端口 -u 用户名 -p 密码 --database 数据库名 > 文件名.sql
例如: mysqldump -h 192.168.1.100 -p 3306 -u root -p password --database mydata > /data/backup/mysite.sql

导入数据:

mysql -u 用户名 -p 密码 < /data/backup/mysite.sql
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值