一、图片验证码

方式一:

def get_validCode_img(request):
path=os.path.join(settings.BASE_DIR,'static','image','1.jpg')
with open(path,'rb') as f:
img=f.read()
return HttpResponse(img)

二、自定义图片验证码磁盘管理

方式二:

def get_validCode_img(request):
from PIL import Image
img=Image.new(mode='RGB',size=(120,30),color='green')
f=open('validCode.png','wb')
img.save(f,'png')
with open('validCode.png', 'rb') as f:
data=f.read()
return HttpResponse(data)

三、自定义图片验证码内存管理

方式三:

def get_validCode_img(request):
from io import BytesIO # 内存管理
from PIL import Image
img = Image.new(mode='RGB', size=(120, 30), color='blue')
f = BytesIO() # 文件句柄
img.save(f, 'png') data=f.getvalue() return HttpResponse(data)

四、自定义图片验证码画图

方式四:

def get_validCode_img(request):
from io import BytesIO # 内存管理
from PIL import Image,ImageDraw,ImageFont
from random import randint,choice
color=(randint(0,255),randint(0,255),randint(0,255))
img = Image.new(mode='RGB', size=(120, 30), color=color) draw=ImageDraw.Draw(img,"RGB")
font=ImageFont.truetype("static/fonts/kumo.ttf",20) valid_list=[]
for i in range(5):
random_num=str(randint(0,9))
random_lower=chr(randint(65,90)) # 小写字母
random_upper=chr(randint(97,122)) # 大写字母 random_chr=choice([random_num,random_lower,random_upper])
draw.text([10+i*22,2],random_chr,color=color,font=font)
valid_list.append(random_chr) f = BytesIO() # 文件句柄
img.save(f, 'png')
data = f.getvalue()
valid_str="".join(valid_list)
print(valid_str)
request.session["keepValidCode"]=valid_str
return HttpResponse(data)  

字体地址:

https://files.cnblogs.com/files/supery007/blogCMS.rar  

  

  

Django 定制验证码的更多相关文章

  1. django生成验证码

    django生成验证码 # 制作验证码 def verify_code(): # 1,定义变量,用于画面的背景色.宽.高 # random.randrange(20, 100)意思是在20到100之间 ...

  2. Django之验证码 + session 认证

    验证码 + session认证 目录结构 . └── project ├── app01 │   ├── admin.py │   ├── apps.py │   ├── __init__.py │  ...

  3. python django 实现验证码的功能

    我也是刚学Python  Django不久很多都不懂,所以我现在想一边学习一边记录下来然后大家一起讨论! 验证码功能一开始我在网上找了很多的demo但是我在模仿他们写的时候,发现在我的版本上根本就不能 ...

  4. Django之验证码

    一.自己生成验证码 二.极验科技互动验证码 使用前步骤:下载官网文件——pip install geetest——引入其封装的js模块 代码分为三段:生成验证码——显示验证码——验证验证码. from ...

  5. Django 生成验证码或二维码 pillow模块

    一.安装PIL PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了.PIL功能非常强大,API也非常简单易用.   PIL模块只支持到Python 2 ...

  6. django(一)验证码

    这里讲讲在django中使用第三方插件验证码的流程. 一. 先安装pillow, 通过 python -m pip install pillow 二.安装完后,在官方网站上看操作过程.地址:pillo ...

  7. Django Redis验证码 密码 session 实例

    1.settings CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCach ...

  8. django 定制管理页面外观 模板文件不生效的解决方法

    问题描述:大概过程跟下面描述的一样,简单来说就是照着例子学习的时候定制管理页面外观,按照文档要求拷贝了base_site.html文件到templates目录下,并且按照要求修改了settings.p ...

  9. django的验证码

    pip install Pillow==3.4.1在views.py中创建一个视图函数 from PIL import Image, ImageDraw, ImageFont from django. ...

随机推荐

  1. BZOJ1911 [Apio2010]特别行动队 【斜率优化】

    1911: [Apio2010]特别行动队 Time Limit: 4 Sec  Memory Limit: 64 MB Submit: 5005  Solved: 2455 [Submit][Sta ...

  2. 几个与特殊字符处理有关的PHP函数(过滤html js 标签)

    函数名 释义 介绍 htmlspecialchars 将与.单双引号.大于和小于号化成HTML格式 &转成&"转成"' 转成'<转成<>转成> ...

  3. Java CPU占用率高分析

    首先,通过top命令找出CPU占用率高的进程: 然后,通过ps -o THREAD,tid,time -mp 2066命令找出执行时间最长的线程的TID 将有问题的TID转为16进制格式: print ...

  4. Linux试题

    1.编写脚本,统计/etc./usr./var目录中有多少个一级子目录和文件 #!/bin/bash # danran # time is Mon Jun 5 13:09:12 CST 2017 li ...

  5. sql 中sum函数返回null的解决方案

    SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL. 但多数情况下,我们希望如果没有符合条件记录的情况下,我们希望它返回0,而不是NULL,那么我们可以使用例如 ...

  6. TextToast -- 自定义Toast源码

    import android.content.Context;import android.graphics.Color;import android.graphics.PixelFormat;imp ...

  7. 数学:拓展BSGS

    当C不是素数的时候,之前介绍的BSGS就行不通了,需要用到拓展BSGS算法 方法转自https://blog.csdn.net/zzkksunboy/article/details/73162229 ...

  8. vijos 1426 背包+hash

    背景 北京奥运会开幕了,这是中国人的骄傲和自豪,中国健儿在运动场上已经创造了一个又一个辉煌,super pig也不例外……………… 描述 虽然兴奋剂是奥运会及其他重要比赛的禁药,是禁止服用的.但是运动 ...

  9. nginx 安装 lua-nginx-module

    nginx增加lua模块 yum install -y gcc g++ gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel wg ...

  10. aptitude约等于apt-get的工具

    如题,与之不同的是其会将依赖的程序也给删除. https://baike.baidu.com/item/aptitude/6849487?fr=aladdin 以下是一些常用 aptitude命令,仅 ...