简单搞定生成验证码:

1.views.py

from io import BytesIO
import random
from PIL import Image,ImageDraw,ImageFont
from utils.check_code import create_validate_code def checkCode(request):
return render(request,'code_test.html') def codetest(request):
# # 获取随机颜色的函数
# def get_random_color():
# return random.randint(, ), random.randint(, ), random.randint(, )
#
# # 生成一个图片对象
# img_obj = Image.new(
# 'RGB',
# (, ),
# get_random_color()
# )
# # 在生成的图片上写字符
# # 生成一个图片画笔对象
# draw_obj = ImageDraw.Draw(img_obj)
# # 加载字体文件, 得到一个字体对象
# font_obj = ImageFont.truetype('arial.ttf', )
# # 开始生成随机字符串并且写到图片上
# tmp_list = []
# for i in range():
# u = chr(random.randint(, )) # 生成大写字母
# l = chr(random.randint(, )) # 生成小写字母
# n = str(random.randint(, )) # 生成数字,注意要转换成字符串类型
#
# tmp = random.choice([u, l, n])
# tmp_list.append(tmp)
# draw_obj.text(( + * i, ), tmp, fill=get_random_color(), font=font_obj)
#
# # 保存到session
# request.session["valid_code"] = "".join(tmp_list)
# # 加干扰线
# width = # 图片宽度(防止越界)
# height =
# for i in range():
# x1 = random.randint(, width)
# x2 = random.randint(, width)
# y1 = random.randint(, height)
# y2 = random.randint(, height)
# draw_obj.line((x1, y1, x2, y2), fill=get_random_color())
#
# # 加干扰点
# for i in range():
# draw_obj.point((random.randint(, width), random.randint(, height)), fill=get_random_color())
# x = random.randint(, width)
# y = random.randint(, height)
# draw_obj.arc((x, y, x + , y + ), , , fill=get_random_color())
#
# # 不需要在硬盘上保存文件,直接在内存中加载就可以
# io_obj = BytesIO()
# # 将生成的图片数据保存在io对象中
# img_obj.save(io_obj, "png")
# # 从io对象里面取上一步保存的数据
# data = io_obj.getvalue()
# return HttpResponse(data)

2.url

urlpatterns = [
path('admin/', admin.site.urls),
url('^checkcode.html$',views.checkCode),
url('^codetest.html',views.codetest),
]

3.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>验证码测试</title>
</head>
<body>
<p><input type="text" placeholder="用户名"></p>
<p><input type="text" placeholder="密码"></p>
<p><input type="text" placeholder="验证码">
<img src="/static/img/20181207212735.png" alt="">
<img src="/codetest.html" alt="">
</p>
</body>
</html>

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的验证码

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

  9. Django 之验证码实现

    1. django-simple-captcha 模块 安装 django-simple-captcha pip install django-simple-captcha pip install P ...

  10. Django中验证码的登录

    需求概述 一般登录页面或者其他页面都需要验证码的功能,那在Django中如何实现呢? 这基本就需要用到第三方模块了:pillow 还需要两个文件,一个是字体文件:Monaco.ttf,另一个是一个模块 ...

随机推荐

  1. leetcode-79-单词搜索(用dfs解决)

    题目描述: 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格.同一个单元格内的字母不允许 ...

  2. 常用的re正则

    常用的正则表达式: 用户名:/^[a-z0-9_-]{3,16}$/ 密码:/^[a-z0-9_-]{6,18}$/ 十六进制值:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/ 电子邮 ...

  3. 12个值得关注的顶级可视化JS库 涉及图表、动画、时间处理,表格操作

    本文是译文,原文是https://da-14.com/blog/top-11...我在原文的基础上加了百度的Echats图表库,这个也是毫不逊色其他图表库的.另外Handsontable电子表格库也是 ...

  4. Android Studio如何配置adb以及常用命令

    https://blog.csdn.net/google_huchun/article/details/53314046 用Android Studio一年多了,都没有使用其调试adb,今天就分享ad ...

  5. mariadb(mysql)的安装

    1 使用官方源安装mariadb vim /etc/yum.repos.d/MariaDB.repo 添加repo仓库配置内容 [mariadb] name=MariaDB baseurl=http: ...

  6. 将python的代码文件打包成可执行文件

    1.使用pip install Pyinstaller  命令安装 2.使用命令 pyinstaller -F  *.py打包成exe 3.在\dist文件夹下找到exe; 一.pyinstaller ...

  7. [BZOJ 5072][Lydsy1710月赛]小A的树

    传送门 \(\color{green}{solution}\) 嗯...其实我也不太会,所以大胆猜个结论吧(后来证了一下,然后放弃了...). 我们发现如果要使一个联通块的黑点数量为\(k\)的方案最 ...

  8. Android事件分发和消费机制(转载)

    原文链接:http://www.cnblogs.com/sunzn/archive/2013/05/10/3064129.html Android 中与 Touch 事件相关的方法包括:dispatc ...

  9. Mac 10.12安装抓包工具Charles

    说明:青花瓷,Filddler之后就是这个最好用.收费软件. 下载: (链接:https://pan.baidu.com/s/1kV1Robl 密码: 3g6u)

  10. (转)一张图学会Dockerfile

    原文:http://blog.51cto.com/kusorz/1942816 前言 Dockerfile是非常容易学的,和SHELL相比那简单的太多了. Dockerfile是为快速构建docker ...