码迷,mamicode.com
首页 > 其他好文 > 详细

验证码

时间:2019-05-21 13:03:13      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:course   pattern   style   dom   save   取出   col   rom   captcha   

图形验证码:

 1 from django.http import HttpResponse
 2 from utils.captcha.xfzcaptcha import Captcha
 3 # 内存管道,存储Bytes类型的数据
 4 from io import BytesIO
 5 
 6 # 图形验证码;
 7 def img_captcha(request):
 8     text,image = Captcha.gene_code()
 9     # BytesIO:相当于一个管道,用来存储图片的数据流;
10     out = BytesIO()
11     # 调用image的save方法,将image对象保存到BytesIO中;
12     image.save(out,png)
13     # 将BytesIO的文件指针移到到最开始的位置;
14     out.seek(0)
15     response = HttpResponse(content_type=image/png)
16     # 从BytesIO管道中,读取出图片数据,保存到response对象上;
17     response.write(out.read())
18     response[Content-length] = out.tell()
19     return  response

 

1 # 图形验证码的HTML文件
2 <img src="{% url ‘xfzauth:img_captcha‘ %}" alt="" class="img-captcha">

 

 1 # App的url;
 2 from django.urls import path
 3 from . import views
 4 
 5 app_name = "xfzauth"
 6 
 7 urlpatterns = [
 8     path(img_captcha/,views.img_captcha,name=img_captcha)
 9 ]
10 
11 # 项目url;
12 from django.urls import path,include
13 
14 urlpatterns = [
15     path(course/,include(apps.course.urls)),
16 ]

 

 1 // js文件,图形验证码的点击刷新事件;
 2 
 3 function Auth(){
 4 
 5 };
 6 Auth.prototype.listenImageCaptchaEvent  = function(){
 7     var imgCaptcha = $(".img-captcha");
 8     imgCaptcha.click(function () {
 9         imgCaptcha.attr("src","/account/img_captcha/"+"?random="+Math.random())
10     });
11 };
12 
13 Auth.prototype.run(){
14     var self = this;
15     self.listenImageCaptchaEvent();
16 };
17 
18 $(function () {
19     var auth = new Auth();
20     auth.run();
21 });

 

验证码

标签:course   pattern   style   dom   save   取出   col   rom   captcha   

原文地址:https://www.cnblogs.com/liqiongming/p/10898872.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!