美多商城项目之图形验证码的实现

在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作为图形验证码的唯一标识,并且设置生命周期。

posted @ 2020-01-13 14:57  老王同鞋  阅读(423)  评论(0编辑  收藏  举报