Python生成验证码实例
2014-08-21 11:53
896 查看
本文实例展示了Python生成验证码的方法,具有很好的实用价值。分享给大家供大家参考。具体实现方法如下:
前台页面代码如下:
<div> <img id="authcode_img" alt="验证码" src="/registration/makeimage/{{time}}"/> <!-- time 任意随机数(时间戳),防止页面缓存 导致验证码不能更新--> <a href="javascript:refreshCode();" rel="external nofollow" style="color:blue;">看不清换一张</a> </div> <script> function refreshCode() { $('authcode_img').src = "/registration/makeimage/" + Math.random(); } </script>
后台程序如下:
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 随机生成中文验证码的实例代码
- Python 随机生成中文验证码的实例代码
- Python生成验证码实例
- 学习python:实例2.用PIL生成随机验证码
- Python 随机生成中文验证码
- python实例31[生成随即的密码]
- php生成验证码与验证码验证完整实例
- python 生成验证码
- Zend_Captcha生成验证码实例
- 生成随机字符串和验证码的类的PHP实例
- php生成验证码,点击可刷新的实例
- python实例31[生成随即的密码]
- PIL(Python Image Library)生成验证码
- Struts2 验证码图片生成实例]
- 生成随机字符串和验证码的类的PHP实例
- Struts2 验证码图片生成实例
- php生成验证码与验证码验证完整实例
- PIL(Python Image Library)生成验证码
- Struts2 验证码图片生成实例 (用.jsp产生验证码)
- 轻量级验证码生成插件webutil-licenseImage源码与实例应用