Maison > Article > développement back-end > Introduction à la méthode de génération d'images de code de vérification dans Python3 Pillow
Cet article présente principalement l'exemple de l'oreiller python3 pour générer une image de code de vérification simple, qui est d'une grande valeur pratique. Les amis dans le besoin peuvent s'y référer
Utilisez le module aléatoire du module oreiller de Python pour générer de manière aléatoire une vérification. images de code et appliquer au projet Django
Installer l'oreiller
$ pip3 install pillow
Générer l'image du code de vérification
\vericode.py from PIL import Image,ImageDraw,ImageFont,ImageFilter import random #随机码 默认长度=1 def random_code(lenght=1): code = '' for char in range(lenght): code += chr(random.randint(65,90)) return code #随机颜色 默认颜色范围【1,255】 def random_color(s=1,e=255): return (random.randint(s,e),random.randint(s,e),random.randint(s,e)) #生成验证码图片 #length 验证码长度 #width 图片宽度 #height 图片高度 #返回验证码和图片 def veri_code(lenght=4,width=160,height=40): #创建Image对象 image = Image.new('RGB',(width,height),(255,255,255)) #创建Font对象 font = ImageFont.truetype('Arial.ttf',32) #创建Draw对象 draw = ImageDraw.Draw(image) #随机颜色填充每个像素 for x in range(width): for y in range(height): draw.point((x,y),fill=random_color(64,255)) #验证码 code = random_code(lenght) #随机颜色验证码写到图片上 for t in range(lenght): draw.text((40*t+5,5),code[t],font=font,fill=random_color(32,127)) #模糊滤镜 image = image.filter(ImageFilter.BLUR) return code,image
Application
Ecrire la fonction d'affichage sous l'application Django
\views.py from . import vericode.py from io import BytesIO from django.http import HttpResponse def verify_code(request): f = BytesIO() code,image = vericode.veri_code() image.save(f,'jpeg') request.session['vericode'] = code return HttpResponse(f.getvalue()) def submit_xxx(request): if request.method == "POST": vericode = request.session.get("vericode").upper() submitcode = request.POST.get("vericode").upper() if submitcode == vericode: return HttpResponse('ok') return HttpResponse('error')
Session de Django est utilisé ici, vous devez ajouter 'django.contrib.sessions' (ajouté par défaut) dans INSTALLED_APPS de Django settings.py
la fonction d'affichage verify_code ajoute le code de vérification à la session et envoie l'image du code de vérification au navigateur lorsque En soumettant le formulaire à submit_xxx (), obtenez d'abord le code de vérification de la session, puis comparez-le avec le code de vérification saisi à partir du formulaire.
Voici juste des instructions simples, la configuration de l'url et le code front-end ne sont pas donnés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!