zoukankan      html  css  js  c++  java
  • 图形验证码的设计与实现

    准备工作:
    1.将验证码包复制到apps下 verification子应用的libs文件下
    2.设置验证码所需的redis库

    设计图形验证码接口:

    接口设计
    1. 请求方式
      选项    方案
      请求方法    GET
      请求地址    image_codes/(?P<uuid>[w-]+)/
    2.请求参数:路径参数
      参数名    类型    是否必传    说明
      uuid    string    是    唯一编号
    3.响应结果: image / jpg

    图形验证码的实现:

    from apps.verifications.libs.captcha.captcha import captcha
    class
    ImageCodeView(View): """图形验证码 GET http://www.***.com:8000/image_codes/uuid/ """ def get(self, request, uuid): """ 实现图形验证码逻辑 :param uuid: UUID :return: image/jpg """ # 生成图形验证码 text, image = captcha.generate_captcha() # 保存图形验证码 # 使用配置的redis数据库的别名,创建连接到redis的对象 redis_conn = get_redis_connection('verify_code') # 使用连接到redis的对象去操作数据存储到redis # redis_conn.set('key', 'value') # 因为没有有效期 # 图形验证码必须要有有效期的:设计是300秒有效期 # redis_conn.setex('key', '过期时间', 'value') redis_conn.setex('img_%s' % uuid, 300, text) # 响应图形验证码: image/jpg return HttpResponse(image, content_type='image/jpg')

    配置url

     urlpatterns = [
        path('image_codes/<uuid:uuid>/', views.ImageCodeView.as_view()),
    ]
  • 相关阅读:
    【LOJ #2290】「THUWC 2017」随机二分图(状压DP)
    【LOJ #2136】「ZJOI2015」地震后的幻想乡(状压DP)
    【CSP-S 2019模拟】题解
    异步编程补漏
    Git(七) 查漏补缺
    ES6(二) let const
    ES6(一) 数组
    JS判断对象是否存在
    Git(六)
    Git(五)
  • 原文地址:https://www.cnblogs.com/yqyn-study/p/13413193.html
Copyright © 2011-2022 走看看