介绍
这篇文章主要介绍了python生成网页验证码的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。
验证码为<强>公益诉讼模块强>生成,可直接应用于django框架当中。
首先需要安装<强>枕头模块强>我们这里使用的版本为3.4.1
终端中直接输入指令pip安装枕头==3.4.1
得到PIL import 形象,ImageDraw, ImageFont 得到django.utils.six import  BytesIO def verify_code(请求): #才能引入随机函数模块 import 才能;随机的 #才能定义变量,用于画面的背景色,宽,高 bgcolor 才能=,(random.randrange (20, 100), random.randrange ( ,,,,,100),255) width 才能=100 height 才能=25 #才能创建画面对象 我才能=,Image.new (& # 39; rgb # 39;,,(宽度,高度),背景) #才能创建画笔对象 时间=draw 才能;ImageDraw.Draw (im) #调才能用画笔的点()函数绘制噪点 for 才能小姐:拷贝范围(0,100): ,,,xy =, (random.randrange(0,宽度),random.randrange(0,高度)) ,,,fill =, (random.randrange(0, 255), 255年,random.randrange (0, 255)) ,,,draw.point (xy,填补=填写) #才能定义验证码的备选值 时间=str1 才能;& # 39;ABCD123EFGHIJK456LMNOPQRS789TUVWXYZ0& # 39; #才能随机选取4个值作为验证码 时间=rand_str 才能;& # 39;& # 39; for 才能小姐:拷贝范围(0,4): ,,,rand_str +=, str1 [random.randrange (0,, len (str1))) #才能构造字体对象,ubuntu的字体路径为“/usr/分享//truetype字体/freefont” font 才能=,ImageFont.truetype (& # 39; FreeMono.ttf& # 39;,, 23) #才能构造字体颜色 fontcolor 才能=,(255年,random.randrange (0, 255), random.randrange (0, 255)) #才能绘制4个字 draw.text才能((5,2),,rand_str[0],,字体=字体,填补=fontcolor) draw.text才能((25,2),,rand_str[1],,字体=字体,填补=fontcolor) draw.text才能((50,2),,rand_str[2],,字体=字体,填补=fontcolor) draw.text才能((75年,,2),,rand_str[3],,字体=字体,填补=fontcolor) #才能释放画笔 ,del 画 #存才能入会话,用于做进一步验证 request.session才能[& # 39;verifycode& # 39;],=rand_str #内才能存文件操作 时间=buf 才能;BytesIO () #才能将图片保存在内存中,文件类型为png im.save才能(buf, & # 39; png # 39;) #才能将内存中的图片数据返回给客户端,MIME类型为图片png return 才能;HttpResponse (buf.getvalue(), & # 39;图像/png # 39;
感谢你能够认真阅读完这篇文章,希望小编分享的“python生成网页验证码的方法”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!