Django-redis缓存及图片验证码生成

django的redis连接以及图片验证码的生成 一、在settings里面设置redis的库下载插件:pip install django-redis。 阅读详情

图片验证码的生成

1.django 缓存设置

1.1 安装Django缓存模块

pip install django-redis==4.12.1

1.2 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 在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使用

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)
		uuid = request.GET.get('uuid')
		
		# 2.校验数据
		if not uuid:
			return HttpResponseForbidden('uuid⽆效')
		
		# 3.处理业务
		# 获取图⽚⽂本内容和图⽚⼆进制代码
		text, image = captcha.generate_captcha() # text=GPMZ; image=图⽚
		
		# 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')
基于django+redis开发的前后端分离demo 基于django+redis开发的前后端分离demo的小案例,比较简单,适合初学者学习,注意使用的是python3.8+django3.0.4版本。 立即下载

相关推荐

su03t语音模块烧录识别不出问题解决方法

su03t语音sdk烧录无法识别问题

weixin_49387645的博客 6389

django缓存设置与验证码

django缓存设置 安装缓存模块 pip install django-redis==4.12.1 在settings中配置 # 缓存配置 CACHES = { # django存缓默认位置,redis 0号库 # default: 连接名称 "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/0", "OPT

God_Hearing的博客 387

微带功分器设计与ADS-EM联合仿真实战解析

本文详细解析了微带功分器设计与ADS-EM联合仿真的实战技巧,涵盖特性阻抗计算、ADS原理图设计、版图生成与EM仿真等关键步骤。通过实际案例分享,帮助工程师掌握射频电路设计中的核心技术和调试方法,提升功分器设计效率与性能。

weixin_29280219的博客 451

Django项目记录(二)使用redis记录验证码

我们通过云片网把验证码发送给用户,验证码是随机的,如果我们不把验证码保存起来,那么用户在拿到我们的验证码进行验证的时候我们就不知道验证码是否正确,所以要把验证码下来保存。 我们可以把全局变量定义在setting当中,但是这样我们重启Django变量就不存在了,而且随着验证码越来越多,内存消耗越来越大,使用数据库的话虽然第一个问题可以解决,也可以验证时间是否过期,可以写一个定时任务,但是这样增加...

Zijian Su的博客 890

Windows 11 下 WSL 离线安装 Ubuntu 22.04 保姆级教程(国内镜像加速版)

本文提供了一份针对中国地区用户的Windows 11下WSL离线安装Ubuntu 22.04的详细教程。通过使用国内镜像源加速下载安装包,并配合PowerShell命令完成部署,有效解决了官方商店下载缓慢的问题。教程涵盖环境准备、离线包获取、安装初始化及安装后的关键优化配置,帮助用户快速搭建高效的Linux开发环境。

weixin_28452161的博客 1378

医药行业新零售项目数据分析报告——基于Excel的分析与可视化

不同平台客户支付金额用数字+百分比展示更直观。各大区支付金额分析较为粗浅,后续可加入不同大区人数、配送费等进行细分分析。图表略微单一,可采用组合图,运用两个及以上维度对数据进行分析。数据来源本项目数据来源于某机构的项目案例,以上分析内容均为本人原创,不涉嫌抄袭。原做项目,新平台首发。

2401_84213513的博客 1495

注册功能,通过django的邮箱模块发送邮件,redis保存随机验证码。

步骤一、在settings.py主配置文件中 #配置邮件服务器 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' #采用smtp服务发送邮件 EMAIL_USE_TLS = False #使用tls,SMTP服务器通信时,是否启动TLS链接(安全链接)。 EMAIL_HOST = 'smtphz.qiye.163.com' #发邮件使用的服务器 EMAIL_PORT = 25

weixin_46371752的博客 562

华为eNSP实战:手把手教你配置DHCP全局地址池(含AP固定IP分配)

本文通过华为eNSP模拟器,详细演示了如何配置DHCP全局地址池,为不同业务VLAN动态分配IP地址,并重点讲解了如何通过MAC地址绑定为接入点(AP)分配固定IP。文章涵盖了从拓扑设计、基础网络搭建到地址池精细配置、验证测试及常见故障排查的全流程,是网络工程师掌握企业级DHCP部署与AP管理的实用指南。

weixin_29235923的博客 600

Django验证码之3-图形验证码后端逻辑(准备captcha扩展包、准备Redis数据库、图形验证码后端逻辑实现)

准备captcha扩展包 captcha扩展包用于后端生成图形验证码 准备Redis数据库 准备Redis的2号库存储验证码数据 "verify_code": { # 验证码 "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379/2", "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient

yanghao8866的博客 340

流体仿真软件:COMSOL Multiphysics二次开发_(3).流体仿真基础理论

流体仿真基础理论包括流体的基本性质、流体运动方程、边界条件、初始条件、湍流模型和网格生成等。在使用COMSOL Multiphysics进行流体仿真时,正确设置这些参数和条件是获得准确仿真结果的关键。通过实际应用案例,可以更好地理解如何在COMSOL中进行流体仿真,并提取和分析仿真结果。希望本文对流体仿真初学者和从业人员有所帮助。

kkchenjj的博客 1341

【STM32Cube_14】使用硬件I2C读写环境光强度传感器(BH1750)

本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件I2C外设读取环境光强度传感器数据(BH1750)

Mculover666的博客(嵌入式) 7242

图片验证码及使用django-redis缓存

图片验证码及使用django-redis缓存 一、django缓存设置 1、安装django缓存模块 pip install django-redis==4.12.1 2、settings.py中配置缓存 缓存配置 CACHES = { # django存缓默认位置,redis 0号库 # default: 连接名称 "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0

weixin_49319422的博客 3313

微信8.0所有URL Scheme大全:隐藏入口与使用场景详解 内附195条微信URL Scheme

URL Scheme 类似于一个协议地址,它的作用和网页的https://差不多,只不过它不是打开网页,而是直接跳转到微信App内部的功能页面。→ 打开微信扫一扫→ 打开零钱通详情→ 打开微信面对面支付微信功能的“快捷指令”。整理下来,微信的 URL Scheme 基本覆盖了支付、联系人、扫一扫、小程序、运动设备等多个入口。对开发者来说,这些 Scheme 就像是隐藏的快捷通道,在某些场景(比如支付唤起、活动红包、客服入口)能大大简化流程。微信对外部调用限制非常严格。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2192

图片验证码接口

文章目录1. django缓存设置1.1 安装Django缓存模块1.2 `syl/settings.py`中配置缓存2. 新建应用verifications3. 图形验证码captcha使用4. 在verifications/views.py中使用5. 测试验证码接口 1. django缓存设置 django的六种缓存(mysql+redis) : https://www.cnblogs.com/xiaonq/p/7978402.html#i6 1.1 安装Django缓存模块 pip instal

zzzjin_的博客 1279

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

7.1.图片验证码

验证码接口 安装模块 pip install django-redis==4.12.1 syl/settings.py 中配置缓存 .django 缓存设置 django的六种缓存(mysql+redis) :https://www.cnblogs.com/xiaonq/p/7978402.html#i6 # 缓存配置 CACHES = { # django存缓默认位置,redis 0号库 # default: 连接名称 "default": {

weixin_51958339的博客 137

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

django,flask生成图形验证码

一、生成图形验证码 1、生成图形验证码逻辑分析 前端向后端申请图形验证码,通过uuid来区分身份 后端生成图形验证码,并制作成验证码图片数据 将图形验证码强果保存到redis中,以便后面验证 将验证码图片数据传回前端进行展示 2操作简单直接上代码 首先将生成能生成图片的文件放入utils下的文件夹 拉取画图文件:https://gitee.com/in-the-end-of-the-dream/project 3 django生成图片验证码 # 配置redis库 CAC...

dreams_dream的博客 766

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

django配置图片验证码

先在dev.py中注册app: INSTALLED_APPS = [ 'verify.apps.VerifyConfig' ] 配置redis数据库: 'default': { 'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://127.0.0.1:6379/5', ...

kasumiutaha的博客 729

Django项目学习4--注册功能(流水账)

首先该django项目的注册页面,有个验证码,该验证码是死的,验证码其实就是一张图已经存好的图片。 这样肯定不符合要求。 这时,我们需要库pillow,安装: 然后把提供的包复制到项目根目录下的utiles下 一、设计接口的思路 分析业务逻辑,明确在这个业务中需要涉及到几个相关子业务,将每个子业务当做一个接口来设计 分析接口的功能任务,明确接口的访问方式与返回数据: 接口的请求方式,如G...

weixin_43129747的博客 316

shoppe项目04----注册之图片验证码

目录一级目录二级目录三级目录 一级目录 二级目录 三级目录

weixin_45228198的博客 522

【Python百日进阶-WEB开发】Day178 - Django案例:10图形验证码(二)

文章目录8.3.3 准备Redis数据库,2号库8.3.4 后端视图代码view.py8.4 图形验证码前端逻辑8.4.1 变量绑定到属性,导包common.js8.4.2 register.js中定义方法和调用方法8.5 设置子应用的常量文件 constants.py8.6 django生成图片验证码8.6.1 基本使用8.6.1.1 创建图片8.6.1.2 创建画笔8.6.1.3 画点8.6.1.4 画线8.6.1.5 画圆8.6.1.6 写文本8.6.1.7 设置特殊字体8.6.2 应用案例8.6.2

专注于医院数据分析技术与系统开发的创作与分享。 326

Django集成图片验证码功能:基于django-simple-captcha实现

从基本的表单集成,到视图处理、模板渲染,再到高级的AJAX异步刷新和性能优化,构建了一个完整的企业级验证码解决方案。该库不仅提供了开箱即用的安全特性,还支持丰富的自定义配置,能够满足不同场景的需求。在实际项目中,建议结合具体的业务逻辑,合理配置验证码的有效期、复杂度和刷新机制,在用户体验和安全性之间找到最佳平衡点。库,从环境配置到实际应用,完整演示图片验证码在Django项目中的集成过程。### 在表单中集成验证码我们通过一个用户注册表单的实例来演示验证码的集成。:在自动化测试中,可以通过。

Jk64v8b8F的博客 285

图片验证码

图片验证码2 django 使用PIL生成验证码 python=3.6.8 django=2.1.8 Pillow=7.0.0 redis=3.3.1 工具形式的验证码生成,并存入redis import random import io import redis from PIL import ImageDraw, ImageFont, Image from mysite.settings import BASE_DIR def get_random_color(): """ 定义

chenliang8518的博客 252

Django部分知识点-富文本-缓存-图片上传-中间件-面向切面编程等

静态文件配置 在setting.py中最底下有一个叫做static的文件夹,主要用来加载一些模板中用到的资源,提供给全局使用 这个静态文件主要用来配置CSS,HTML,图片,字体文件等 STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static') ] 之后在模板中,首先加载静态文件,之后调用静态,就不用写绝对全路径了 图片上传 文件存储在request.FILES属性中 form表单上传文

老牛的博客 226

Django ​​captcha + redis + pillow 实现图片验证码生成与验证

dango 使用captcha+redis+pillow生成图形验证码和验证

YAnt的博客 1201
上一篇: Django - Celery使用及介绍
下一篇: 阿里云短信服务的使用
白三岁吖.
博客等级 码龄6年 8粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值