随机验证码
一、Python生成随机验证码,需要使用PIL模块.
1、安装PIL模块
pip3 install pillow
二、基本使用方式
1、创建图片
1、引入模板
from
PIL
import
Image
2、创建图片对象
img
=
Image.new(mode
=
'RGB'
, size
=
(
120
,
30
), color
=
(
255
,
255
,
255
))
注释:mode指的是颜色搭配,size指的是图片大小(长,宽),color指的是红,绿,蓝三颜色
3、保存图片对象
f=open('index1.png','wb') ;img.save(f,format='png') ;f.close()
注释:format指的是保存的格式,也可以这样写img.save(f,'png')
2、创建画笔,用于在图片上画任何内容
1、引入模板
from PIL import ImageDraw
2、创建图片对象
img
=
Image.new(mode
=
'RGB'
, size
=
(
120
,
30
), color
=
(
255
,
255
,
255
))
3、创建画笔
draw
=
ImageDraw.Draw(img, mode
=
'RGB'
)
4、画点
draw.point([
100
,
100
], fill
=
"red"
)
draw.point([
300
,
300
], fill
=
(
255
,
255
,
255
))
注释: 第一个参数表示坐标位置(向右,向下)且
从左上角开始计算
,第二个参数表示颜色即可直接写颜色名称也可写三基色,
5、画线
draw.line((
100
,
100
,
100
,
300
), fill
=
'red'
)
draw.line((
100
,
100
,
300
,
100
), fill
=
(
255
,
255
,
255
))
注释:第一个参数前两个值表示起始坐标位置而后两个值表示结束坐标位置,固定两点成一条线(也是从左上角开始计算),第二个参数表示颜色
draw.arc((
100
,
100
,
300
,
300
),
0
,
90
,fill
=
"red"
)
注释:第一个参数前两个值表示起始坐标位置而后两个值表示结束坐标位置,固定两点成一条线
,然后对其垂直形成一个矩形圆要画在矩形中间,并且从三刻钟的位置顺时针开始画起,
第二个参数表示开始角度;
第三个参数表示结束角度;
第四个参数:表示颜色(也可以写RGB颜色)
。
draw.text([
0
,
0
],
'python'
,
"red"
)
第一个参数表示从起始坐标开始写字;
第二个参数表示写入内容;
第三个参数表示颜色(也可以写RGB颜色)
。
from PIL import ImageFont
font
=
ImageFont.truetype(
"kumo.ttf"
,
28
)
第一个参数表示字体文件路径;
第二个参数表示字体大小
draw.text([
0
,
0
],
'python'
,
"red"
, font
=
font)
第一个参数表示起始坐标;
第二个参数表示写入内容;
第三个参数表示字体颜色(也可以写RGB颜色);
第四个参数表示指定的字体样式对象
import
random
chr
(random.randint(
65
,
90
))
random.randint
的方法是生成随机数而后面的(
65
,
90
)
表示随机数的范围,(
65
,
90
)
在ascll表中对应的是英文大写字母,(97,122)在ascll表中对应的是英文小写字母,而chr()是将数字转换成ascii表中对应的值。![](https://images2017.cnblogs.com/blog/1168192/201709/1168192-20170905215309257-188128611.png)
![](https://images2017.cnblogs.com/blog/1168192/201709/1168192-20170905215518647-955141728.png)
![](https://images2017.cnblogs.com/blog/1168192/201709/1168192-20170905220716116-1659629823.png)
![](https://images2017.cnblogs.com/blog/1168192/201709/1168192-20170905223616726-505410544.png)
![](https://images2017.cnblogs.com/blog/1168192/201709/1168192-20170906164747710-1495771715.png)
注释:通过查找到图片提交路径并且给其后面添加"?"的方式就可以已ajax的形式默默的重新访问src的url从而达到刷新效果
6、全局变量(将django中的局部变量设置成为全局变量,从而使得其他函数都能调用该全局变量)
1、首先在setting中定义一个变量
注释:变量名必须是FUNCTION并且是大写,而变量值可以自己随意定义
2、在TEMPLATES中添加一条记录,该记录的作用就相当于运行项目就能就会执行该记录,blog.views指代的是路径,fun_class指代的是函数名,
意思就是说只要运行项目就会执行该代码,该代码就成了全局变量,就能被所有函数所调用
7、ajax登录验证