zoukankan      html  css  js  c++  java
  • 动态验证码案例

    from django.shortcuts import render,HttpResponse,redirect
    from django.urls import reverse
    from app01 import models
    from PIL import Image,ImageDraw,ImageFont
    from io import BytesIO
    import random
    
    def checked_code(request):
        f=BytesIO()  #在内存中开辟一块空间
        img=Image.new(mode='RGB',size=(120,30),color=(255,255,255)) #新建一个图片对象
    
        draw=ImageDraw.Draw(img,mode='RGB')  #创建一个画笔对象
        char_list=[]     #创建一个列表存放随机字符
        for i in range(5):
            char=chr(random.randint(65,90))  #产生A——Z随机字符
            char_list.append(char)             #存储到列表中
            font=ImageFont.truetype('kumo.ttf',20)  #创建一个字体对象
            draw.text([i*24,0],char,(random.randint(0,255),random.randint(0,255),random.randint(0,255),),font=font) #将创建的字符对象带着属性渲染到界面上
    
        img.save(f,'png')  #将这个图片存储到这个内存中
        data=f.getvalue()   #获取这个存储的图片以bytes的类型
    
        code=''.join(char_list)
        request.session['code']=code
    
        return HttpResponse(data)
    清风徐来.水波不兴
  • 相关阅读:
    053-49
    053-3
    053-204
    053-491
    053-205
    053-57
    053-149
    053-47
    053-150
    回答2
  • 原文地址:https://www.cnblogs.com/ghl666/p/11318078.html
Copyright © 2011-2022 走看看