明霞山资源网 Design By www.htccd.com
本文实例展示了Python生成验证码的方法,具有很好的实用价值。分享给大家供大家参考。具体实现方法如下:
前台页面代码如下:
<div>
<img id="authcode_img" alt="验证码" src="/UploadFiles/2021-04-08/{{time}}">
后台程序如下:
import StringIO
import Image, ImageDraw, ImageFont, random #相应的模块需要安装
from xxx.settings import authcode_font #请确保改字体存在
def make_image(request):
mp = hashlib.md5()
mp.update(str(datetime.datetime.now())+str(random.random()))
mp_src = mp.hexdigest()
rand_str = mp_src[0:6]
font = ImageFont.truetype(authcode_font, 25)
width = 75
height = 30
im = Image.new('RGB',(width,height),'#%s'%mp_src[-7:-1])
draw = ImageDraw.Draw(im)
draw.line((random.randint(0,width),random.randint(0,height),random.randint(0,width),random.randint(0,height)))
draw.line((random.randint(0,width),random.randint(0,height),random.randint(0,width),random.randint(0,height)))
draw.line((random.randint(0,width),random.randint(0,height),random.randint(0,width),random.randint(0,height)))
draw.line((random.randint(0,width),random.randint(0,height),random.randint(0,width),random.randint(0,height)))
draw.line((random.randint(0,width),random.randint(0,height),random.randint(0,width),random.randint(0,height)))
draw.text((5,2), rand_str, font=font)
del draw
buffer = StringIO.StringIO()
im.save(buffer,'jpeg')
httpResponse = HttpResponse(content=buffer.getvalue(),mimetype="image/jpeg")
request.session['auth_code'] = rand_str
return httpResponse
程序效果如下:
标签:
Python,生成,验证码
明霞山资源网 Design By www.htccd.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
明霞山资源网 Design By www.htccd.com
暂无评论...
