Django框架验证码用法实例分析
本文实例讲述了Django框架验证码用法。分享给大家供大家参考,具体如下:
验证码
1、作用
- 在用户登录,注册以及一些敏感操作的时候,我们为了防止服务器被暴力请求,或爬虫爬取,我们可以使用验证码进行过滤,减轻服务器的压力。
- 验证码需要使用绘图Pillow
- pip3installPillow
- 核心API
- Image
- 需要模式
- 尺寸
- 背景色
- ImageDraw
- 绑定画布
- 模式
- 封装了绘制的API
- text
- point
- line
- arch
- ImageFont
- 手动指定字体
2、业务流程
绘制验证码图片
background=(10,20,30)//RGB颜色
初始化画布
image=Image.new(‘RGB',(100,50),background)
获取画布中画笔对象
draw=ImageDraw.Draw(image)
绘制验证码,随机四个
font=ImageFont.truetype(‘path',size) fontcolor=(20,40,60) draw.text((x,y),'R',font,fontcolor)
返回验证码内容
#删除画笔 deldraw #保存图片到BytesIO对象 Importio buf=io.BytesIO() image.save(buf,'png') #返回BytesIO中的内容 returnHttpResponse(buf.getvalue(),'image/png')
3、代码范例
html页面
{%csrf_token%} 用户名