博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
验证码
阅读量:4166 次
发布时间:2019-05-26

本文共 2091 字,大约阅读时间需要 6 分钟。

此例是以django环境进行测试的。

1,安装生成随机验证码的gvcode 库。

pip install graphic-verification-code

2,了解生产验证码过程,每一次都会生产不同的验证码。

>>> import gvcode>>> code=gvcode.base64()>>> code(b'iVBORw0KGgoAAAANSUhEUgAAAHgAAAAeCAIAAABoq03CAAACkElEQVR4nOVasW7CMBC9q/oJZekHIFb6GTAwVWLmByIQf9CpU9eKia9g4R/4ACQk5vYjroMhvthO4rMdcOipQxLFdy/v3p3PokhEkKshogHPfpK/Kcz9w52/OdXwdBco/oaIvXPu1G7uRHdtnSayEujhW0cmbV0r2sjtzVLdteXAMpRE22nPBJ9tPVVA/3p0tgpotgvRN0PfUz3Gm0PR/5aLTs1BdKfqbnBel+DHSHxGPZqIFgtABIPYsMQjoj1H3TFnWcyY3BAhGFHryHzHmTpK0VwgTrH4KOiWKkvFcgDm2gOLj3Hc6loVvl3+zZaKa5vHjtpFQMI00UmyTaQLHxH2e2olnYh4ksA7W5zE8v3x+HJRFGo5AXh9lzOouj2dfBy0+ffh17+1KZSca2n6DA/StUSqPogIvr5guRRgUKF/f+HlpfJEWaQOvXq0P8v7vfHsXQoo1V6FCKuVvt1sfEMPBprfskB/fqLxJN+FuYLCRojgwcMZWrUX/8+0S+paKFEi6HyOvvHkaocjcrdp0T4Z/xWdEF3uKnxvlNp6LV5ixDLYmc+Nl5snbtNtUYjxVBzyeNIqc7iL2MqSOKnpHjKHiGAxE9s9KoouJy1vQAjVGiw/jP8dj4HgyiieNV73WgA7n59kOIvsHglaR2tuhkOpQwDA2Uz7H41aQvBaTLIrbLc2pKhKfQ5eyYfr8sJZXAEVR1Q56fgvVwUeE1o52e1gOtVPDocohyBVNDuJ1c6F5zO8vurb7+8QWFLjmQZ2yOTX11bmJfjJhC+Btzdz4JOaeI5u3TBtGYr2okx+tFbWQKgUY3jrcNrHhy7egMKHzH4STIhFJh+n3LLSYJ1xkJd/houeZWUAJGfTHhCarf0ByadGE9wbAIUAAAAASUVORK5CYII=', 'gtmu')--------------------------------------------------------------------------------------------code是一个元组 (b'base64格式的验证码图片','验证图片上的文本')第一个元素 就是一个base64格式的图片:验证码图片第二个元素是验证图片上的文本 如 dfgk把整个元组传给客户端,浏览器会显示此图片 第一个元素,服务端记下图片的文本 即第二个元素,用户按照图片输入文本提交,把用户输入的和服务端记下的进行对比,若一致就是正确的,

3,通过函数完整生产验证码:

在views.py 文件生产验证码函数from django.shortcuts import renderfrom django.http import HttpResponseimport gvcodedef get_code(request):    """返回验证码"""    base64_code,str_code =gvcode.base64()    request.session['code'] = str_code    # 渲染模板 函数传参 base64    return render(request,'test.html',{'base64':base64_code})在test.html 文件写入模板    
验证码配置路由:根路由:from django.conf.urls import url,includefrom django.contrib import adminurlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^app/',include('app.urls')), ]二级路由:from django.conf.urls import urlfrom app import viewsurlpatterns =[ url(r'^get_code/',views.get_code) ]运行:python manage.py runserver浏览器执行:http://localhost:8000/app/get_code/

转载地址:http://anqxi.baihongyu.com/

你可能感兴趣的文章
!!!!搜索引擎设计实用教程-以百度为例
查看>>
搜索引擎工作原理(Nutch)
查看>>
七、 基于Nutch主题搜索引擎方案设计
查看>>
垂直搜索引擎 nutch
查看>>
同一进程中的线程究竟共享哪些资源
查看>>
超文本传输协议-HTTP
查看>>
TCP/IP协议分析-协议分层
查看>>
OSI七层网络模型与TCP/IP四层网络模型
查看>>
我在华为工作十年的感悟
查看>>
最全的CSS浏览器兼容问题
查看>>
HTTP协议及过程描述
查看>>
面向站长和网站管理员的Web缓存加速指南[翻译]
查看>>
动态网址与静态网址
查看>>
Apache的工作原理
查看>>
http/apache工作原理
查看>>
什么是Web2.0
查看>>
PHP中$_SERVER的详细用法
查看>>
类与对象(PHP5)之三:静态关键字(Static Keyword)
查看>>
SQL里的EXISTS与in、not exists与not in
查看>>
MySQL字符集及MySQL编码转换
查看>>