在Django框架中并没有提供能够制作图形验证码的模块,所以,我们需要采用第三方模块进行实现图像验证码。
这里我们使用的是captcha模块来实现,图形验证码的。
captcha模块,会将生成的图像验证码的图片和验证码的文字信息返回给我们,我们只需要拿着返回的图片和验证码文字信息用就可以了。
首先,我们需要准备captcha模块。
然后,使用captcha模块的流程:
1. 导入captcha模块
from apps.verifications.libs.captcha.captcha import captcha
2. 创建变量接收captcha模块返回的图像验证码的文字信息以及图片信息
# 通过captcha模块获取图形验证码的文字信息和图片 text, image = captcha.generate_captcha()
3. 将图形验证码的文字信息保存到Redis数据库中
# 保存验证码的文字信息 # 1. 创建redis数据库链接对象 redis_conn = get_redis_connection('verify_code') # 2. 将验证码的文字信息保存到数据库中,并设置生命周期 redis_conn.setex('img_%s' %uuid,constants.IMAGE_CODE_REDIS_EXPIRES,text)
注意:
这里使用前端生成的uuid作为图形验证码的唯一标识,并且设置生命周期。