<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yangmingfu666的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yangmingfu666</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yangmingfu666]]></copyright><item><title><![CDATA[Django+celery+腾讯云 异步发送短信验证码]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/117881084</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/117881084</guid><author>yangmingfu666</author><pubDate>Sun, 13 Jun 2021 16:54:50 +0800</pubDate><description><![CDATA[Django+celery+腾讯云 异步发送短信验证码
一、配置腾讯云短信
腾讯云短信申请：https://console.cloud.tencent.com/smsv2


首先创建签名



实例通过后创建模板



模板内的{1} 代表一个参数



此时我们的腾讯云已经配置好了，接下来配置Python后端 代码


二、Python后端配置
Python SDK 配置官方文档
https://cloud.tencent.com/document/product/382/43196



安装 SDK]]></description><category></category></item><item><title><![CDATA[Vue干货分享]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/117828458</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/117828458</guid><author>yangmingfu666</author><pubDate>Fri, 11 Jun 2021 23:51:57 +0800</pubDate><description><![CDATA[Vue干货分享
1.进入要创建项目的目录
cd 路径
#创建项目
vue init webpack luffycity
#进入项目目录，启动项目进行测试
npm run dev

2.常用组件安装
npm i element-ui -S --registry https://registry.npm.taobao.org
npm i axios -S --registry https://registry.npm.taobao.org

3.main.js文件配置如下

// The Vue build v]]></description><category></category></item><item><title><![CDATA[Django基于ListAPIView、序列化器Serializer完成多表联合查数据]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/117588485</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/117588485</guid><author>yangmingfu666</author><pubDate>Sat, 05 Jun 2021 10:40:15 +0800</pubDate><description><![CDATA[Django基于ListAPIView、序列化器Serializer完成多表联合查数据
1.表与表之间有直接的关系


老师表与课程表
class CourseModelSerializer(serializers.ModelSerializer):
    """展示课程详细信息+老师信息+课时信息的序列化器"""
    # 方式一 
    teacher_name = serializers.CharField(max_length=32, source='teacher.name')
    cl]]></description><category></category></item><item><title><![CDATA[django通过auth模块进行登录认证]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/117547980</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/117547980</guid><author>yangmingfu666</author><pubDate>Fri, 04 Jun 2021 08:59:01 +0800</pubDate><description><![CDATA[django通过auth模块进行登录认证
注明：以下的认证得使用request对象，只要能获取到request对象，就能使用此方法
1.相关模块引入、对象、装饰器导入
from django.contrib import auth  # 导入auth模块
from django.contrib.auth.models import User  # 导入auth_user表对象
from django.contrib.auth.decorators import login_required  # 校验用户是]]></description><category></category></item><item><title><![CDATA[django自定义配置auth登录功能]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/117547957</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/117547957</guid><author>yangmingfu666</author><pubDate>Fri, 04 Jun 2021 08:58:20 +0800</pubDate><description><![CDATA[django自定义配置auth登录功能
1.在users用户下创建utils.py ，其代码如下
from django.contrib.auth.backends import ModelBackend
from django.db.models import Q
from  .  import models
from django.contrib import auth  # 导入auth模块
from django.contrib.auth.models import User  # 导入auth_u]]></description><category></category></item><item><title><![CDATA[git命令及 redis 数据类型]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/117248182</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/117248182</guid><author>yangmingfu666</author><pubDate>Tue, 25 May 2021 09:02:18 +0800</pubDate><description><![CDATA[git常用命令


git init 在项目目录生成本地仓库


git add . 将工作区的文件推送到缓存区


git commit -m ‘版本描述’


配置用户名和邮箱
$ git config --global user.name &lt;用户名&gt;
$ git config --global user.email &lt;邮箱地址&gt;
例如：
$ git config --global user.name "barry"
$ git config --global user.emai]]></description><category></category></item><item><title><![CDATA[django前后端未分离项目部署]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/116738107</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/116738107</guid><author>yangmingfu666</author><pubDate>Thu, 13 May 2021 09:56:15 +0800</pubDate><description><![CDATA[django+nginx+uwsgi 项目部署到linux服务端
1.配置supervisro工具
注意要退出虚拟环境
注意要退出虚拟环境
注意要退出虚拟环境

	1.安装easy_install 
	pip3是python3的软件包管理工具
	easy_install 是python2的软件包管理工具
	
	yum install python-setuptools

	2.安装supervisor
	easy_install supervisor
	
	3.创建supervisor的配置文件
	
	ec]]></description><category></category></item><item><title><![CDATA[Python腾讯云调用API发送验证码详细教程]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/116719479</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/116719479</guid><author>yangmingfu666</author><pubDate>Wed, 12 May 2021 19:35:28 +0800</pubDate><description><![CDATA[腾讯云验证码
1.python安装如下模块
pip install tencentcloud-sdk-python

2.将下载下来的文件进行解压，cmd命令进入到该目录下，执行如下命令
cd tencentcloud-sdk-python
python setup.py install

3.测试代码如下
from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_excep]]></description><category></category></item><item><title><![CDATA[windows下配置virtualenv虚拟环境]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/116276377</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/116276377</guid><author>yangmingfu666</author><pubDate>Thu, 29 Apr 2021 20:31:26 +0800</pubDate><description><![CDATA[windows系统下的虚拟环境
1.首先终端输入命令：
pip install virtualenv

2.这个包不能全局使用，我们最好是装一个包裹命令包，可以在全局命令中使用。
pip install virtualenvwrapper

3.然后在装一个兼容的包：
pip install virtualenvwrapper-win

4.关闭终端，重新启动，通过管理员身份进行开启
mkvirtualenv 虚拟环境名字 -p python版本
例子： mkvirtualenv test -p pytho]]></description><category></category></item><item><title><![CDATA[Django项目登录注册使用邮箱发送验证码进行验证]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/116098254</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/116098254</guid><author>yangmingfu666</author><pubDate>Sat, 24 Apr 2021 17:46:21 +0800</pubDate><description><![CDATA[Django项目登录注册使用邮箱发送验证码进行验证
1.settings配置文件
# 设置邮件域名，一般为使用哪个邮箱，就有固定的域名，例如我使用的是网易的163邮箱
EMAIL_HOST = 'smtp.163.com'
# 设置端口号，为数字，网易的默认端口是25
EMAIL_PORT = 25
#设置发件人邮箱
EMAIL_HOST_USER = 'haoqudian@163.com'
# 设置发件人 授权码
EMAIL_HOST_PASSWORD = 'J*****IVIJXDXLJW'
# 设置是]]></description><category></category></item><item><title><![CDATA[windows环境运行django项目时解决端口被占用问题]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/116081908</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/116081908</guid><author>yangmingfu666</author><pubDate>Sat, 24 Apr 2021 09:19:38 +0800</pubDate><description><![CDATA[windows环境运行django项目时解决端口被占用问题
方法一：杀死进程id
1.查看进程id
netstat -ano|findstr 8000

2.找出对应pid的进程详细信息

tasklist |findstr 5948

3.杀掉进程及子进程
taskkill /pid 5948 /F

方法二：更改django项目项目的端口号
python manager.py runserver 端口号
例如：
	python manager.py runserver 8080


...]]></description><category></category></item><item><title><![CDATA[基础数据类型补充二]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/108714851</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/108714851</guid><author>yangmingfu666</author><pubDate>Mon, 21 Sep 2020 17:26:06 +0800</pubDate><description><![CDATA[1.今日内容大纲

昨日内容回顾
作业讲解
基础数据类型补充II
编码II

2.具体内容
1.昨日内容回顾


集合
可变的容器型的数据类型，要求里面的元素唯一的不可变的元素，它本身是可变的数据类型。


列表 去重。


关系测试。
# 增 
add   update 
# 删
remove pop clear del
# 改
先删除后增加
#查
for循环

# 交集  &amp;
# 并集  |
# 差集  -
#反差集  ^

# 子集  &lt;
# 超集  &gt;

# 冻集合 frozen]]></description><category></category></item><item><title><![CDATA[深浅copy练习]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/108714820</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/108714820</guid><author>yangmingfu666</author><pubDate>Mon, 21 Sep 2020 17:25:09 +0800</pubDate><description><![CDATA[1.看代码写结果
v1=[1,2,3,4,5]
v2= [v1,v1,v1]
v1.append(6)
print(v1)
print(v2)
结果
[1, 2, 3, 4, 5, 6]
[[1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6]]

2.看代码写结果
v1 = [1,2,3,4,5]
v2 - [v1,v1,v1]
v2[1][0] = 111
v2[2][0] = 222
print(v1)
print(v2)
[222, 2,]]></description><category></category></item><item><title><![CDATA[基础数据类型的补充]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/108714801</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/108714801</guid><author>yangmingfu666</author><pubDate>Mon, 21 Sep 2020 17:24:33 +0800</pubDate><description><![CDATA[1.今日内容大纲

基础数据类型集合
2  基础数据类型的补充

2.具体内容
1.基础数据类型集合


引子
集合的形式：{}，集合存储的是不可变的数据并且是唯一的不重复。但是集合本身是可变的，可变的也成为不可哈希。不可变的数据类型可哈希的。
集合的主要功能：

列表去重。
关系测试。



创建
set1 = {33, 'barry', '冲哥','新闻'}
print(set1)

set2 = set([33, 22, 77, 55])
print(set2)



集合的增删改查
# set1 =]]></description><category></category></item><item><title><![CDATA[字典练习]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/108714772</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/108714772</guid><author>yangmingfu666</author><pubDate>Mon, 21 Sep 2020 17:23:40 +0800</pubDate><description><![CDATA[1.请用代码验证“name”是否在字典的键中?
info = {‘name’:‘王刚蛋’; hobby∵’铁锤’, 'age:‘18’,…100个键值对}
info = {'name': '王刚蛋', 'hobby': '铁锤', 'age': '18'}
print('name1' in info.keys())

2.请用代码验证"alex”是否在字典的值中?
info = { ‘name’:‘王刚蛋’, ‘hobby’:‘铁锤’ , ’ age’: ‘18’,…100个键值对}
info = {'na]]></description><category></category></item><item><title><![CDATA[内存/深浅copy]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/108714749</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/108714749</guid><author>yangmingfu666</author><pubDate>Mon, 21 Sep 2020 17:23:07 +0800</pubDate><description><![CDATA[1.内容大纲

cpu 内存 磁盘 操作系统的关系
is == id
代码块
同一代码块的缓存机制
不同代码块的缓存机制，小数据池
深浅copy
经典例题

2.具体内容
1.cpu 内存 磁盘 操作系统的关系
CPU：相当于人类的大脑。中央处理器，运算、计算中心。处理速度非常快，相当于飞机。
磁盘：硬盘，d,e,c等等，相当于计算机的数据库，长期存储大量的数据，文件，图片，片儿等等。断电不消失。加载速度慢，人类的速度。
内存： 16G,32G,等等，断电即消失，临时加载数据。速度相当于高铁。
操作系统： ]]></description><category></category></item><item><title><![CDATA[字典练习]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/108714741</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/108714741</guid><author>yangmingfu666</author><pubDate>Mon, 21 Sep 2020 17:22:17 +0800</pubDate><description><![CDATA[请将列表中的每个元素通过"_"链接起来。
users =[‘李少奇’,‘李启航’,‘渣渣辉’]
请将列表中的每个元素通过"_"链接起来。
users =['李少奇','李启航','渣渣辉']
print("_".join(users))

users =[‘李少奇’,‘李启航’,‘渣渣辉’]
请将元组v1= (11,22,33)中的所有元素追加到列表v2=[44,55,66]中。
v2=[44,55,66]
v1= (11,22,33)
for i in v1:
    v2.append(i)
print]]></description><category></category></item><item><title><![CDATA[字典的常用方法及使用]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/108714724</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/108714724</guid><author>yangmingfu666</author><pubDate>Mon, 21 Sep 2020 17:21:46 +0800</pubDate><description><![CDATA[1.今日内容大纲

列表
基础数据类型dict
基础数据类型字典
字典的常用操作方法

2.具体内容
1.列表


列表
l1 = [1,2,3]

l2 = list('abc')

l3 = [i for i in range(10)]




列表的增删改查
# 增 
append 追加；insert 插入； extend 迭代着追加
# 删
pop 按照索引删除，有返回值； remove 按照元素删除；
del 按照索引 切片 删除列表； clear 清空。
# 改：
l1[0] = 按照索引改值
]]></description><category></category></item><item><title><![CDATA[总结]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/108714699</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/108714699</guid><author>yangmingfu666</author><pubDate>Mon, 21 Sep 2020 17:20:51 +0800</pubDate><description><![CDATA[总结
1.大纲

Python优缺点
变量
常量
注释
用户输入input
流程控制语句if
格式化输出
while循环
运算符
编码
str常用的操作方法
for 循环（range）
列表的常用操作

2.具体内容
1. python优缺点
优点：

开发效率非常高，Python有非常强大的第三方库。
高级语言：不用管理内存级别的细节。
可移植性：不同平台之间互相移植。
可扩展性，可以嵌入性：python与C/C++可以互相嵌入。

缺点：

GIL全局解释器锁。（后面会讲到）

2. 变量
变量：用简单]]></description><category></category></item><item><title><![CDATA[list 列表题]]></title><link>https://blog.youkuaiyun.com/yangmingfu666/article/details/108714679</link><guid>https://blog.youkuaiyun.com/yangmingfu666/article/details/108714679</guid><author>yangmingfu666</author><pubDate>Mon, 21 Sep 2020 17:20:06 +0800</pubDate><description><![CDATA[1.写代码，有如下列表，按照要求实现每一个功能
li= [“alex”, "WuSir, “ritian”, “barry”, “wenzhou”]
计算列表的长度并输出
li= ["alex", "WuSir","ritian","barry", "wenzhou"]
print(len(li))

列表中追加元素"seven",并输出添加后的列表
li= ["alex", "WuSir","ritian","barry", "wenzhou"]
li.append("seven")
print(li)
]]></description><category></category></item></channel></rss>