图形验证码接口设计和定义

1. 图形验证码后端接口设计

1.请求方式

选项 方案
请求方法 GET
请求地址 image_codes/<uuid>/

2.请求参数:路径参数

参数名 类型 是否必传 说明
uuid string 唯一编号

3.响应结果:image/jpeg

2. 图形验证码后端接口定义

1.图形验证码视图

from django.views import View

class ImageCodeView(View):
    """图形验证码"""

    def get(self, request, uuid):
        """
        :param request: 请求对象
        :param uuid: 唯一标识图形验证码所属于的用户
        :return: image/jpeg
        """
        pass

2.总路由

urlpatterns = [
    ...
    # 添加验证码 verifications 总路由
    path('', include('apps.verifications.urls')),
]

3.子路由

from django.conf.urls import url
from . import views
urlpatterns = [
    # 图形验证码
    path('image_codes/<uuid:uuid>/', views.ImageCodeView.as_view()),
]

4.添加自定义转换器

class UUIDConverter:
    """自定义路由转换器去匹配手机号"""
    # 定义UUID的正则表达式
    regex = '[\w-]+'

    def to_python(self, value):
        # to_python:将匹配结果传递到视图内部时使用
        return str(value)

# 在工程的总路由出添加
from utils.converters import UUIDConverter
from django.urls import register_converter

register_converter(UUIDConverter,'uuid')