一、验证码的用途
在用户注册、登录页面,为了防止暴力请求,可以加入验证码的功能,如果验证码错误,怎不需要任何处理,可以减轻业务服务器、数据库服务的压力。
二、手动实现验证码功能
1.安装Pillow
pip install Pillow
这里可以查看PIL模块API,以下代码用到了Image,ImageDraw,ImageFont对象及方法
2. 在应用视图中,创建视图verify_code
1)随机生成字符串后存入session中,用于后续做出判断
2)视图中返回mime-type为image/png
3.代码实践
1)视图代码:
# 手绘验证码
from PIL import Image, ImageDraw, ImageFont
from django.utils.six import BytesIO
import random
def verify_code(request):
#定义变量 用于画面的背景颜色 、宽、 高
bgcolor = (random.randrange(20,100),random.randrange(20,100),255)
width = 100
height = 25
#创建画面对象
im = Image.new('RGB', (width, height), bgcolor)
# 创建画笔的颜色
draw = ImageDraw.Draw(im