在python项目中生成图形验证码

我们使用第三方captcha扩展包生成图形验证码

注:安装Python处理图片的库:pip install Pillow

  • 首先配置redis缓存数据库的的连接用来存储验证码
verify_code": { # 验证码
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/2",  # redis://ip:port/库
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    },
  • 图形验证码生成代码并保存到redis中:
from django.views import View
# 导入第三方包中的图形验证码生成方式
from meiduo_mall.libs.captcha.captcha import captcha
from django_redis import get_redis_connection


class ImageCodeView(View):
    def get(self, request, uuid):
        # 1.生成图片的文本、数据
        text, code, image = captcha.generate_captcha()
        # 2.保存图片文本,用于后续与用户输入值对比
        redis_cli = get_redis_connection('image_code')
        redis_cli.setex(uuid, 5*60, code)
        # 响应:输出图片数据,并声明其类型为图片类型
        return http.HttpResponse(image, content_type='image/png')

你可能感兴趣的:(在python项目中生成图形验证码)