简单搞定生成验证码:

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. C#-WebForm-★★★JQuery知识——DOM操作★★★

    例如: $("#btn1").attr( "disabled" , "disabled" ); 例如: $("#d1") ...

  2. C#-WinForm-TextBox中只能输入数字的几种常用方法(C#)

    方法一: private void tBox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 0x20) e.KeyCh ...

  3. jenkins+appium android app自动化测试

    jenkins安装 pytest+jenkins安装+allure报告 新建任务 其他默认,保存 立即构建 test_login.py from src.pages import login_page ...

  4. 洛谷 P2014 选课(树形背包)

    洛谷 P2014 选课(树形背包) 思路 题面:洛谷 P2014 如题这种有依赖性的任务可以用一棵树表示,因为一个儿子要访问到就必须先访问到父亲.然后,本来本题所有树是森林(没有共同祖先),但是题中的 ...

  5. Codeforces - 149D 不错的区间DP

    题意:有一个字符串 s. 这个字符串是一个完全匹配的括号序列.在这个完全匹配的括号序列里,每个括号都有一个和它匹配的括号 你现在可以给这个匹配的括号序列中的括号染色,且有三个要求: 每个括号只有三种情 ...

  6. testng多线程

    1.设置多线程,同一浏览器运行两个用例,但是有其中有一个运行较慢

  7. @using (Html.BeginForm())和@{Html.BeginForm();}@{Html.EndForm();}对比

    这样写报错 <body>    @using (Html.BeginForm())    {         form主体1    }    @{Html.BeginForm();}    ...

  8. 静态类和静态方法,抽象类和抽象方法,new关键字,值类型和引用类型,接口

    静态类和静态方法:静态成员是与类相关,而非实例相关:普通类中的静态成员:1.只能通过类名访问.2.静态方法中只能访问静态成员,或通过对象访问实例成员.3.多个对象共享同一个成员.静态类(一般用作工具类 ...

  9. Java学习之路(七):泛型

    泛型的概述和基本使用 作用:把类型明确的工作推前到创建对象或者调用方法的时候 泛型是一种参数化类型,把类型当做参数一样传递来明确集合的元素类型 泛型的好处 提高安全性 省去强转的麻烦 泛型的基本使用 ...

  10. ECharts概念学习系列之ECharts官网教程之在 webpack 中使用 ECharts(图文详解)

    不多说,直接上干货! 官网 http://echarts.baidu.com/tutorial.html#%E5%9C%A8%20webpack%20%E4%B8%AD%E4%BD%BF%E7%94% ...