Django实现验证码
简单搞定生成验证码:
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实现验证码的更多相关文章
- django生成验证码
django生成验证码 # 制作验证码 def verify_code(): # 1,定义变量,用于画面的背景色.宽.高 # random.randrange(20, 100)意思是在20到100之间 ...
- Django之验证码 + session 认证
验证码 + session认证 目录结构 . └── project ├── app01 │ ├── admin.py │ ├── apps.py │ ├── __init__.py │ ...
- python django 实现验证码的功能
我也是刚学Python Django不久很多都不懂,所以我现在想一边学习一边记录下来然后大家一起讨论! 验证码功能一开始我在网上找了很多的demo但是我在模仿他们写的时候,发现在我的版本上根本就不能 ...
- Django之验证码
一.自己生成验证码 二.极验科技互动验证码 使用前步骤:下载官网文件——pip install geetest——引入其封装的js模块 代码分为三段:生成验证码——显示验证码——验证验证码. from ...
- Django 生成验证码或二维码 pillow模块
一.安装PIL PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了.PIL功能非常强大,API也非常简单易用. PIL模块只支持到Python 2 ...
- django(一)验证码
这里讲讲在django中使用第三方插件验证码的流程. 一. 先安装pillow, 通过 python -m pip install pillow 二.安装完后,在官方网站上看操作过程.地址:pillo ...
- Django Redis验证码 密码 session 实例
1.settings CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCach ...
- django的验证码
pip install Pillow==3.4.1在views.py中创建一个视图函数 from PIL import Image, ImageDraw, ImageFont from django. ...
- Django 之验证码实现
1. django-simple-captcha 模块 安装 django-simple-captcha pip install django-simple-captcha pip install P ...
- Django中验证码的登录
需求概述 一般登录页面或者其他页面都需要验证码的功能,那在Django中如何实现呢? 这基本就需要用到第三方模块了:pillow 还需要两个文件,一个是字体文件:Monaco.ttf,另一个是一个模块 ...
随机推荐
- [原]时间格式化hh:mm:ss和HH:mm:ss区别
hh:mm:ss 按照12小时制的格式进行字符串格式化 如果时间处于00:00:00——12:59:59,则返回的字符串正常 如果时间处于13:00:00——23:59:59,则返回的字符串是实际 ...
- leetcode-79-单词搜索(用dfs解决)
题目描述: 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格.同一个单元格内的字母不允许 ...
- mariadb配置主从同步遇到的问题
一:ERROR: No query specified 解决方案: \G后面不能再加分号;,因为\G在功能上等同于;,如果加了分号,那么就是;;(2个分号),SQL语法错误 二:主从同步不成功 Sla ...
- <VS2017> 编写VC++单元测试 -(一)新建单元测试工程
开发人员自己编写单元测试是一个非常好的习惯.单元测试不但能够验证自己所编写的代码是否存在问题,避免提交给测试人员时才发现bug,也可以为将来改动代码的人提供验证代码功能正确性的途径.在我有限的工作生涯 ...
- 二分难题 && deque
141. Sqrt(x) https://www.lintcode.com/problem/sqrtx/description?_from=ladder&&fromId=4 publi ...
- 四、OE 中添加对供应商名称的唯一限制
最初的思路是利用sql_constraints 来限制重复的供应商名称,但后来想到在OE中供应商.客户乃至员工都隶属于Partner,sql_constrainst实际上是通过限制partner来限制 ...
- 如何为 Go 设计一个通用的日志包
需求 一个通用的日志包,应该满足以下几个需求: 兼容 log.Logger,标准库大量使用了 log.Logger 作为其错误内容的输出通道,比如 net/http.Server.ErrorLog,所 ...
- GitBook入门(用github做出第一本书)——超详细配图说明
我最近接触到gitbook,发现它支持markdown和git,刚好把我之前在github上的笔记可以生成一本书,于是我就开始着手捣鼓gitbook,一下午的时间就弄的差不多了,说明这个东西还是挺容易 ...
- 用通俗的语言解释 Spring 中的 DI 、IOC 和AOP概念
DI 所谓依赖,从程序的角度看,就是比如A要调用B的方法,那么A就依赖于B,反正A要用到B,则A依赖于B.所谓倒置,你必须理解如果不倒置,会怎么着,因为A必须要有B,才可以调用B,如果不倒置,意思就是 ...
- solr集群的搭建教程和使用入门
1 什么是SolrCloud? SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud. 当一个系统的索引数据量少的时候 ...