Django博客系统注册(图形验证码接口设计和定义)

news/2024/7/7 23:27:45

1. 准备captcha包(该包用于生成图形验证码)

1.将生成图片验证码的库复制到新建的libs包中。

2.安装Python处理图片的库

这儿可能会变红显示错误:

解决方案:在虚拟环境中安装Pillow。执行pip install Pillow即可

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

1.请求方式

选项方案
请求方法GET
请求地址imagecode?uuid=xxxxx-xxxx-xxxxxx

2.请求参数:路径参数

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

3.响应结果:image/jpeg

3. 图形验证码后端实现

1.图形验证码视图

from django.http import HttpResponseBadRequest,HttpResponse
from libs.captcha.captcha import captcha
from django_redis import get_redis_connectionclass ImageCodeView(View):def get(self,request):#获取前端传递过来的参数uuid=request.GET.get('uuid')#判断参数是否为Noneif uuid is None:return HttpResponseBadRequest('请求参数错误')# 获取验证码内容和验证码图片二进制数据text, image = captcha.generate_captcha()# 将图片验内容保存到redis中,并设置过期时间redis_conn = get_redis_connection('default')redis_conn.setex('img:%s' % uuid, 300, text)# 返回响应,将生成的图片以content_type为image/jpeg的形式返回给请求return HttpResponse(image, content_type='image/jpeg')

2.总路由

from django.contrib import admin
from django.urls import path,includeurlpatterns = [path('admin/', admin.site.urls),# include 参数1要设置为元组(urlconf_module, app_name)# namespace 设置命名空间path('', include(('users.urls', 'users'), namespace='users')),
]

3.子路由

from django.urls import path
from users.views import ImageCodeViewurlpatterns = [# 参数1:路由# 参数2:视图函数# 参数3:路由名,方便通过reverse来获取路由path('imagecode/', ImageCodeView.as_view(),name='imagecode'),
]

4. 修改模板中图片验证码HTML代码

1.html中的原代码如下

<img src="{% static 'img/image_code.png' %}" @click="generate_image_code" alt="" style="width: 110px;height: 40px;">

2.修改如下

<img :src="image_code_url" @click="generate_image_code" alt="" style="width: 110px;height: 40px;">


http://lihuaxi.xjx100.cn/news/262168.html

相关文章

JQuery遮罩层

2019独角兽企业重金招聘Python工程师标准>>> css样式&#xff1a;<style type"text/css"> .mask { position: absolute; top: 0px; filter: alpha(opacity60); background-color: #777; z-index: 1002; left: 0px; …

使用grep过滤make的输出内容

make的输出内容其实分为两种&#xff0c;有些是到标准输出&#xff0c;有些是到标准错误&#xff0c;由于标准输出和标准错误默认都是屏幕&#xff0c;所以平时区分不出来&#xff0c; 实际上一般是error和warning信息到标准错误&#xff0c;其余的到标准输出。 如果要过滤erro…

你有哪些 Deep learning(RNN、CNN)调参的经验?

来自 | 知乎-hzwer&#xff0c;北京大学https://www.zhihu.com/question/41631631/answer/859040970编辑 | 机器学习算法与自然语言处理&#xff0c;Datawhale本文仅作学术分享&#xff0c;若侵权&#xff0c;请联系后台删文处理你有哪些deep learning&#xff08;rnn、cnn&…

投稿人就是AI顶会最好的「审稿人」!中国学者提出同行评审新机制

点击上方“视学算法”&#xff0c;选择加"星标"或“置顶”重磅干货&#xff0c;第一时间送达来源丨新智元编辑丨极市平台导读 近年来&#xff0c;机器学习顶会论文数目井喷&#xff0c;审稿压力巨大&#xff0c;其同行评审制度备受质疑。宾大教授针对此挑战提出了由论…

一文看懂 Bahdanau 和 Luong 两种 Attention 机制的区别

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶”重磅干货&#xff0c;第一时间送达来自 | 知乎 作者 | Flitter链接 | https://zhuanlan.zhihu.com/p/129316415本文仅作学术交流&#xff0c;如有侵权&#xff0c;请联系删除Attention 机制作为近年来自然…

联邦学习的隐忧:来自梯度的深度泄露

作者 | Ligeng Zhu and Song Han编译 | 对外经济贸易大学金融科技实验室头图 | 下载于视觉中国【编者按】数据交易流通是数据要素市场建立的关键环节。为了在推动数据流动的同时保护数据安全、个人信息和隐私&#xff0c;隐私计算技术因运而生。目前&#xff0c;该技术分为三个…

Django博客系统(短信验证码)

1. 容联云短信平台操作 1.容联云官网 容联云通讯网址&#xff1a;容联云通讯_短信平台、手机验证码、语音验证码、IM即时通讯、云呼叫系统等互联网通信服务注册并登陆2.容联云管理控制台 3.添加容联云测试手机号 4.短信模板 免费开发测试使用的模板ID为1&#xff0c;形式为&…

西门子PLC学习笔记二-(工作记录)

今天师傅给讲了讲做自己主动化控制的总体的思路&#xff0c;特进行一下记录&#xff0c;做个备忘。 1.需求分析 本次的项目是对楼宇循环供水的控制&#xff0c;整个项目须要完毕压力、压差、温度等的获取及显示、同一时候完毕电机的控制。 2.设计 使用西门子的Step7工具进行梯形…