广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Django之随机图形验证码
  • 438
分享到

Django之随机图形验证码

验证码图形Django 2023-01-31 00:01:45 438人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

      前端代码:    <div class="container"> <div class="row"> <div class="col-md-6">

 

 

 

前端代码:

  

<div class="container">
    <div class="row">
        <div class="col-md-6">
             <label for="yzm_id">验证码:</label>
             <input type="text" class="fORM-control" id="yzm_id" placeholder="" name="yzm">
         </div>
        <div class="col-md-6">
             <img id='yzm_img_id' src="/yzm/" alt="" style="width: 260px;height: 40px">
        </div>
     </div>
 <div>

一个input输入框和一个用div包裹的img标签,用Bootstrap的栅格系统各占6格(只是为了美观,可以不用样式)

后端代码:

 

from PIL import Image,ImageDraw,ImageFont
from io import BytesIO,StringIO
#色彩的设置为(*,*,*),所以随机返回三个数
def r_num(number):
   #number为2指的是背景颜色,把背景颜色和字体颜色分开,不然当颜色一样时,不容易看到
    if number==2:
        return random.randint(0,128),random.randint(0,128),random.randint(0,128)
    #number==1指的是字体颜色,字体颜色深一些比较养眼
    if number == 1:
        return random.randint(128, 255), random.randint(128, 255), random.randint(128, 255)
def yzm(request):
    #创建一个Image对象,‘RGB’是颜色的模式。第二个参数是验证码的大小。第三个参数是三个随机数,当然也用英语单词指定颜色,比如red,这里为了随机性选择了用三个数字
    yzm_img=Image.new("RGB",(260,40),r_num(1))
   #为yzm_img对象创建一个画笔
    draw=ImageDraw.Draw(yzm_img)
    #指定字体的格式,ttf文件自己在网上下载,放入static文件夹中,40指的是字体的大小
    font=ImageFont.truetype('static/1.ttf',40)
    #存放验证码
    code=''
    #循环5次,所以验证码是5位
    for i in range(5):
        #随机0到9的数字
        random_num=str(random.randint(0,9))
       #随机65到90的数字,chr是把数字对比ASCLL码表转为字母。65到90是大写字母
        random_up=str(chr(random.randint(65,90)))
        #同上,随机小写字母
        random_low=str(chr(random.randint(97,122)))
#从三个字符中随机选取出一个        
 random_code=random.choice([random_num,random_up,random_low])
        #把字符写入图片。第一个参数(x,y),坐标,如果坐标位置写死,那么将会全部挤到一起,第二个参数,指定写入的字符。第三参数指定字符的格式
        draw.text((45*i,-5),random_code,r_num(2),font)
        code+=random_code
    io_obj=BytesIO()
    #把图片存放到内存空间中
    yzm_img.save(io_obj,'png')
    #给session中添加验证码
    request.session['code']=code
    #返回二进制数据
    return HttpResponse(io_obj.getvalue())

现在刷新就可以刷新验证码了

还差点击验证码就能更换验证码

前端脚本代码:

这里这么写是因为只要在地址后面加上字符,那么就刷新图片

 $('#yzm_img_id').click(function () {
        var path2 = $(this).attr('src');
        $(this).attr('src', path2 += '?')
    });

 

--结束END--

本文标题: Django之随机图形验证码

本文链接: https://www.lsjlt.com/news/182057.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Django之随机图形验证码
          前端代码:    <div class="container"> <div class="row"> <div class="col-md-6"> ...
    99+
    2023-01-31
    验证码 图形 Django
  • python生成随机图形验证码详解
    使用python生成随机图片验证码,需要使用pillow模块 1.安装pillow模块 pip install pillow 2.pillow模块的基本使用 1.创建图片 from PIL imp...
    99+
    2022-06-04
    验证码 详解 图形
  • javaWeb怎么实现随机图片验证码
    这篇文章给大家分享的是有关javaWeb怎么实现随机图片验证码的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实现步骤Java后台生成一张随机数字/字母/汉字验证码的图片。存入redis或者session。用户输入...
    99+
    2023-06-14
  • java实现随机验证码图片生成
    本文实例为大家分享了java生成随机验证码图片的具体代码,供大家参考,具体内容如下 1.controller @GetMapping(value = "/getRan...
    99+
    2022-11-12
  • Android随机生成验证码
    Android随机生成验证码,Android利用随机数绘制不规则的验证码,加强用户登录或者注册的安全性。 具体思路如下: 在一块固定宽高的画布上,画上固定个数的随机数字和字母,...
    99+
    2022-06-06
    验证码 Android
  • python生成随机验证码
    一、生成随机验证码(纯数字及字母加数字): import random import string checkcod='' for i in range(5): #5位验证码 ''' #纯数字验证码 #随机值1-...
    99+
    2023-01-31
    验证码 python
  • vue实现图形验证码
    本文实例为大家分享了vue实现图形验证码的具体代码,供大家参考,具体内容如下 效果图: 或 或 或 代码: 验证码组件: src/common/sIdentify.vue ...
    99+
    2022-11-12
  • PHP生成图形验证码
    PHP生成图形验证码 效果:随机生成6位验证码,100个干扰的黑点,一条干扰线 代码:https://blog.csdn.net/weixin_41957626/article/details/image.php(生成验证码)和che...
    99+
    2023-09-07
    php 开发语言
  • React tsx生成随机验证码
    React tsx 生成随机验证码,供大家参考,具体内容如下 最近开发React 使用tsx编写,没有找到什么好的随机生成验证码的插件,自己就手撸了一个,废话不多话,直接上代码。 t...
    99+
    2022-11-12
  • javaWeb如何实现随机图片验证码详解
    实现步骤 1:Java后台生成一张随机数字/字母/汉字验证码的图片。 2:存入redis或者session。 3:用户输入验证码跟redis取出数据做比对。 图片生成工具类 ...
    99+
    2022-11-12
  • Python实现随机生成图片验证码详解
    使用python生成一个图片验证码,随机的,可以由于验证人机和别的啊,很方便很简单 导入模块 import random from PIL import Image,ImageFon...
    99+
    2022-11-13
  • java怎么实现随机验证码图片生成
    这篇文章主要介绍“java怎么实现随机验证码图片生成”,在日常操作中,相信很多人在java怎么实现随机验证码图片生成问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java怎么实现随机验证码图片生成”的疑惑有所...
    99+
    2023-06-25
  • 怎么用Python实现随机生成图片验证码
    本篇内容主要讲解“怎么用Python实现随机生成图片验证码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Python实现随机生成图片验证码”吧!导入模块import random...
    99+
    2023-06-26
  • JS实现随机生成验证码
    本文实例为大家分享了JS实现随机生成验证码的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head>...
    99+
    2022-11-12
  • Python3 生成一个随机验证码
    '''设计一个八位随机验证码,验证码是由大写字母,小写字母和数字三种字符组成。定义一个范围只有1,2,3的随机数,如果这个随机数是1,则八位验证码的当前位置用大写字母;                            如果这个随机数是...
    99+
    2023-01-31
    验证码
  • QT如何生成随机验证码
    这篇“QT如何生成随机验证码”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“QT如何生成随机验证码”文章吧。一、先创建一个QT...
    99+
    2023-07-02
  • Android实现随机生成验证码
    本文实例为大家分享了Android验证码的随机生成代码,供大家参考,具体内容如下 Code.java package com.example.myapp; import and...
    99+
    2022-11-12
  • php如何设置随机验证码
    这篇文章主要介绍“php如何设置随机验证码”,在日常操作中,相信很多人在php如何设置随机验证码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何设置随机验证码”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-07-05
  • SpringBoot 图形验证码的生成和校验
    目录1. 编写工具类2. 编写 Controller 中的接口3. 获取验证码图片另一种方法1.添加依赖2.全部代码1. 编写工具类 package com.cn.beauty....
    99+
    2022-11-12
  • JavaScript实现随机生成验证码及校验
    本文实例为大家分享了JavaScript实现随机生成验证码及校验的具体代码,供大家参考,具体内容如下 输入验证码(区分大小写)点击确认,进行校验。出错就弹框提示 点击 看不清 重新随...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作