图片验证码的生成
1.django 缓存设置
1.1 安装Django缓存模块
pip install django-redis==4.12.1
1.2 syl/settings.py
中配置缓存
# syl/settings.py #
# 图形验证码,存redis 0号库
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/0",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
},
# 图形验证码 存redis 2号库
"img_code": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/2",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
},
}
2.新建应用verifications
-
图形验证码
-
短信验证码
-
邮件验证
'''2.1 在apps文件夹下新建应用: verifications'''
python ../manage.py startapp verifications # 切换到apps文件夹下执行创建命令
'''2.2 在syl/settings.py中添加应用'''
INSTALLED_APPS = [
'verificationsapp',
]
'''2.3 在syl/urls.py主路由中添加'''
path('verify/', include('verifications.urls')),
'''2.4 添加子路由: verifications/urls.py'''
from django.urls import path
from . import views
urlpatterns = [
# path('image_codes/', views.ImageCodeView.as_view()),
path('sms_codes/', SendSMSCode.as_view())
]
3.图形验证码captcha使用
1.下载captcha压缩包captcha.zip,放到项目packages文件夹下
2.解压captcha.zip放到syl/libs文件夹下
3.解压文件中的syl/libs/captcha/captcha.py 右键运行即可生成图片验证码
unzip xxx.zip
4.在verifications/views.py中使用
# verifications/views.py #
from django.http import HttpResponse
from libs.captcha.captcha import captcha
class ImageCodeView(APIView):
def get(self, reqeust):
# 1、获取uuid数据
uuid = reqeust.query_params.get('uuid')
# 2、校验数据
# 判断uuid是否存在
if not uuid:
return Response({"code": 4005, 'msg': '参数不完整'})
# 3.处理业务