国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python如何生成網頁驗證碼

2020-02-15 22:34:52
字體:
來源:轉載
供稿:網友

本文實例為大家分享了python生成網頁驗證碼的具體代碼,供大家參考,具體內容如下

驗證碼為pil模塊生成,可直接應用于django框架當中。

首先需要安裝Pillow模塊 我們這里使用的版本為3.4.1
終端中直接輸入指令 pip install Pillow==3.4.1

from PIL import Image, ImageDraw, ImageFontfrom django.utils.six import BytesIOdef verify_code(request):  #引入隨機函數模塊  import random  #定義變量,用于畫面的背景色、寬、高  bgcolor = (random.randrange(20, 100), random.randrange(    20, 100), 255)  width = 100  height = 25  #創建畫面對象  im = Image.new('RGB', (width, height), bgcolor)  #創建畫筆對象  draw = ImageDraw.Draw(im)  #調用畫筆的point()函數繪制噪點  for i in range(0, 100):    xy = (random.randrange(0, width), random.randrange(0, height))    fill = (random.randrange(0, 255), 255, random.randrange(0, 255))    draw.point(xy, fill=fill)  #定義驗證碼的備選值  str1 = 'ABCD123EFGHIJK456LMNOPQRS789TUVWXYZ0'  #隨機選取4個值作為驗證碼  rand_str = ''  for i in range(0, 4):    rand_str += str1[random.randrange(0, len(str1))]  #構造字體對象,ubuntu的字體路徑為“/usr/share/fonts/truetype/freefont”  font = ImageFont.truetype('FreeMono.ttf', 23)  #構造字體顏色  fontcolor = (255, random.randrange(0, 255), random.randrange(0, 255))  #繪制4個字  draw.text((5, 2), rand_str[0], font=font, fill=fontcolor)  draw.text((25, 2), rand_str[1], font=font, fill=fontcolor)  draw.text((50, 2), rand_str[2], font=font, fill=fontcolor)  draw.text((75, 2), rand_str[3], font=font, fill=fontcolor)  #釋放畫筆  del draw  #存入session,用于做進一步驗證  request.session['verifycode'] = rand_str  #內存文件操作  buf = BytesIO()  #將圖片保存在內存中,文件類型為png  im.save(buf, 'png')  #將內存中的圖片數據返回給客戶端,MIME類型為圖片png  return HttpResponse(buf.getvalue(), 'image/png'

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 历史| 西平县| 庄浪县| 孟连| 廉江市| 宁南县| 治县。| 淮南市| 和政县| 天台县| 邹城市| 彩票| 镇沅| 措美县| 长寿区| 晴隆县| 罗江县| 许昌市| 辉南县| 乌兰县| 绵竹市| 麟游县| 安福县| 左贡县| 温州市| 宜宾市| 陵水| 滁州市| 天等县| 绥德县| 北碚区| 荥阳市| 儋州市| 江山市| 喀什市| 烟台市| 建水县| 灵寿县| 佳木斯市| 湘潭县| 任丘市|