def verify_code():
codenum = 4
source = ''.join(map(str, range(10)))
code = ''.join(random.sample(source, 4))
print("verify code is :" + code)
# 将验证码存入session
session['verifyCode'] = code
# 设置图片大小
width = 45 * 5
height = 50
image = Image.new('RGB', (width, height), (255, 255, 255))
# 选择字体
font = ImageFont.truetype('/usr/local/arial.ttf', 36)
draw = ImageDraw.Draw(image)
for x in range(width):
for y in range(height):
colorRandom1 = (random.randint(255, 255), random.randint(255, 255), random.randint(255, 255))
draw.point((x, y), fill=colorRandom1)
for t in range(codenum):
colorRandom2 = (random.randint(85, 155), random.randint(85, 155), random.randint(85, 155))
draw.text((45 * t + 25, 10), code[t], font=font, fill=colorRandom2)
image_d = ImageDraw.Draw(image)
for i in range(5):
colorRandom3 = (random.randint(85, 100), random.randint(85, 100), random.randint(85, 100))
begin = (random.randint(0, width), random.randint(0, height))
end = (random.randint(0, width), random.randint(0, height))
image_d.line([begin, end], fill=colorRandom3)
tmps = BytesIO()
image.save(tmps, "jpeg")
res = Response()
res.headers.set("Content-Type", "image/JPEG;charset=UTF-8")
res.set_data(tmps.getvalue())
return res
python 验证码总结
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 经过对django的初步学习,我们已经对后台的基本流程以及django的运作有了一定的了解,但是这还不足够,dja...
- 来源 https://zhuanlan.zhihu.com/p/24425116 给深度学习入门者的Python快...
- 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...