1.django 缓存设置

django的六种缓存(mysql+redis) :https://www.cnblogs.com/xiaonq/p/7978402.html#i6

1.1 安装Django缓存模块

pip install django-redis==4.12.1

1.2 syl/settings.py 中配置缓存

# 缓存配置
CACHES = {
# django存缓默认位置,redis 0号库
# default: 连接名称
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/0",
"OPTIONS": {
"CLIENT_CLASS":"django_redis.client.DefaultClient",
}
},
# django session存 reidis 1 号库(现在基本不需要使用)
"session": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/1",
"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",
}
}
}
# 配置session使用redis存储
SESSION_ENGINE = "django.contrib.sessions.backends.cache" # 配置session存储的位置: 使用cache中的 session配置
SESSION_CACHE_ALIAS = "session"

2.新建应用verifications

- 图形验证码

- 短信验证码

- 邮件验证

'''2.1 在apps文件夹下新建应用: verifications'''
python ../manage.py startapp verifications # 切换到apps文件夹下执行创建命令 '''2.2 在syl/settings.py中添加应用'''
INSTALLED_APPS = [
'verifications.apps.VerificationsConfig',
] '''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())
]

3.图形验证码captcha使用

captcha包下载地址 链接:https://pan.baidu.com/s/16fb3IqXVAMsfNd8WVrcOhg 提取码:wupy

1.下载captcha压缩包captcha.zip,放到项目packages文件夹下

2.解压captcha.zip放到syl/libs文件夹下

3.解压文件中的syl/libs/captcha/captcha.py 右键运行即可生成图片验证码 unzip xxx.zip

4.verifications/views.py中使用

from django.http import HttpResponse, HttpResponseForbidden
from django.views import View
from django_redis import get_redis_connection
from libs.captcha.captcha import captcha class ImageCodeView(View):
def get(self, request):
# 1.接收数据
uuid = request.GET.get('uuid')
# 2.校验数据
if not uuid: return HttpResponseForbidden('uuid无效')
# 3.处理业务
# 获取图片文本内容和图片二进制代码
text, image = captcha.generate_captcha()
# 4.把uuid和图片文本存入redis
redis_client = get_redis_connection('img_code') # 获取redis客户端
# 5.写入redis(是字符串)
redis_client.setex(uuid, 60 * 5, text)
# 6.返回响应图片
return HttpResponse(image, content_type='image/jpg')

5.测试验证码接口

http://192.168.56.100:8888/verify/image_codes/?uuid=66ea64aa-fbe6-11ea-a3d3- 005056c00008

最新文章

  1. MyEclipse 点击 部署 按钮 无效
  2. 牛逼的OSQL----大数据导入
  3. asp.net GDI+ 使用PathGradienBrush类实现彩色渐变
  4. JMir——Java版热血传奇2之资源文件与地图
  5. python学习笔记 - 初识socket
  6. opencv学习笔记(四)投影
  7. html规范总结
  8. html基础知识2(有序无序列表,表格)2017-03-08
  9. 每天一个JS 小demo之个人信息添加。主要知识点:DOM操作中的表格操作,节点操作
  10. 详解ASP.NET MVC 控制器
  11. nodejs爬虫笔记(一)---request与cheerio等模块的应用
  12. 解决redis connection refused: connect无法连接redis
  13. Jenkins pipeline:pipeline 语法详解
  14. CMS收集器产生的问题和解决方案
  15. ASP.NET Core 2.1中基于角色的授权
  16. HBase的java客户端测试(一)---DDL操作
  17. Jenkins的环境部署
  18. [luogu4556][Vani有约会]
  19. py3 pymysql
  20. hexo自动部署到git、ftp(虚拟主机等)、云服务器的方式

热门文章

  1. Spring源码笔记
  2. spring cloud feign 添加headers
  3. 通俗易懂浅谈理解ES6类this不同指向问题
  4. Spring 自调用事务失效,你是怎么解决的?
  5. ansible快速部署cassandra3集群
  6. Spring源码解析之BeanFactoryPostProcessor(一)
  7. JSON小结【json-lib】
  8. Markdown语法+Typora快捷键
  9. 进程池与回调函数与正则表达式和re爬虫例子
  10. 深入理解r2dbc-mysql