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版本。 立即下载

相关推荐

NumPy包(下) python笔记扩展

nditer 是 NumPy 中的一个强大的迭代器对象,用于高效地遍历多维数组。nditer 提供了多种选项和控制参数,使得数组的迭代更加灵活和高效。nditer 提供了多种控制参数,用于控制迭代的行为。1.order 参数order 参数用于指定数组的遍历顺序。默认情况下,nditer 按照 C 风格(行优先)遍历数组。# 创建一个二维数组​# 使用 C 风格遍历数组print(x)# 输出:# 1# 2# 3# 4# 5# 6​# 使用 Fortran 风格遍历数组。

正在学习中ing...... 1354

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

DrissionPage实战:5分钟搞定京东滑块验证码自动登录(附完整轨迹生成代码)

本文详细介绍了如何使用DrissionPage工具实现京东滑块验证码的自动化登录,包括环境配置、滑块缺口识别、拟人化轨迹生成算法及完整登录流程。通过物理运动学模型和智能识别技术,有效提升验证码破解成功率,适用于电商自动化场景。

weixin_29229055的博客 244

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

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

Zijian Su的博客 890

mfcc总结,这个mel三角滤波器分组到底是如何起作用的呢?

先看fft频谱图(这是4096字节取样fft计算,横轴频率是从0到512,后边意义不大,未取,纵轴是振幅),那些我随便画的蓝色线,你有什么联想?: 再看,这绿色线,是否有一种上升后,便逐渐式微的感觉,都是三角形的,这或许也是mel当初和绝大多数人看到的: 如果在振幅上加上一条限制的黑线(振幅门槛限制),黑色线以下很多频率就没有意义了,你看,有用的频率连一半(512/2=256)都占不到...

ganggangwawa的博客 9908

使用VNC可视化Docker容器

Docker容器可视化

Robert_Q的博客 1万+

注册功能,通过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

202505系分论文《论软件系统测试方法及应用》

本文以软件测试方法为切入点,重点论述分层协作、智能赋能、全流程三个维度下传统测试与自动化测试的融合应用。

pccai的博客 1693

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

Windows下高效部署llama.cpp:从环境配置到模型量化的完整指南

本文提供了一份详尽的Windows系统下部署llama.cpp的完整指南。内容涵盖从Python环境配置、使用CMake与MinGW编译工具链的搭建,到编译llama.cpp项目、获取并转换模型为GGUF格式,以及执行模型量化和基础推理测试的全过程。指南旨在帮助开发者在普通Windows电脑上,无需高端显卡,仅凭CPU即可高效运行大语言模型,并重点解决了部署过程中常见的环境与编译错误。

weixin_28841265的博客 882

Gazebo手册:【1】gazebo基本操作案例

欢迎来到初学者模块!本模块将引导您了解 Gazebo 的最基本功能。我们将构建一个简单的车辆来演示这些功能。这些教程适用于 Gazebo 新手和/或没有编程或 Linux 经验的人。 每个教程都建立在上一个教程的基础上,因此我们建议您按顺序学习这些教程。 一、何为Gazebo? Gazebo 是一款 3D 动态模拟器,能够准确有效地模拟复杂室内和室外环境中的机器人种群。虽然类似于游戏引擎,但 Gazebo 提供了更高保真度的物理模拟、一套传感器以及用于用户和程序的接口。 1............

gongdiwudu的专栏 2万+

图片验证码及使用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

【Python】解决 ERROR: Exception:Traceback (most recent call last):(亲测有效)

1、遇到问题2、问题解决

Fanjufei的博客 1万+

图片验证码接口

文章目录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

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

django,flask生成图形验证码

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

dreams_dream的博客 766

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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、付费专栏及课程。

余额充值