一、图片验证码

方式一:

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. BZOJ2668 [cqoi2012]交换棋子 【费用流】

    题目链接 BZOJ2668 题解 容易想到由\(S\)向初始的黑点连边,由终态的黑点向\(T\)连边,然后相邻的点间连边 但是这样满足不了交换次数的限制,也无法计算答案 考虑如何满足一个点的交换次数限 ...

  2. SGU - 282

    SGU - 282 题解 题意: 本质不同的集合:不存在两个方案重新编号之后对应的边集相同(对于所有x,y,,(x,y)边颜色都相同). (1≤ N≤ 53, 1≤ M≤ 1000) 对P取模 本质不 ...

  3. Codeforces Round #397 by Kaspersky Lab and Barcelona Bootcamp (Div. 1 + Div. 2 combined) A B C D 水 模拟 构造

    A. Neverending competitions time limit per test 2 seconds memory limit per test 512 megabytes input ...

  4. noip模拟赛 但有用

    题目描述 给定一个 n ∗ m 个矩阵,矩阵中每个数都是 [1, 12] 内的整数.你可以执行下列两个操作任意多次: • 指定一行,将该行所有数字 +1. • 指定一列,将该列所有数字 +1. 如果执 ...

  5. Service学习

    一.采用startService方式开启服务 1.写一个服务类 public class PhoneService extends Service { private static final Str ...

  6. C#或ASP.NET绘图初探

    C#或ASP.NET的简单绘图 public void ProcessRequest (HttpContext context) { context.Response.ContentType = &q ...

  7. 有向图的强联通分量 Tarjan算法模板

    //白书 321页 #include<iostream> #include<cstdio> #include<cstring> #include<vector ...

  8. C语言函数的变参实用与分析

    实现变参传递的关键是: 传入参数在内存中是连续分布的. #define va_list void* #define va_arg(arg, type) *(type*)arg; arg = (char ...

  9. Robot Framework 常用关键字使用方法

    1. Select From Listid=sourceConnoracle_source 从下拉框选取值. 2. Select Radio button  name value 选择单选框.也可以点 ...

  10. mac系统用docker安装oracle数据库

    oracle没有mac可用的版本,最好的办法是通过docker安装 一.下载docker 1.通过brew下载 brew cask install docker 2.手动下载(需要vpn) https ...