django(一)验证码
这里讲讲在django中使用第三方插件验证码的流程。
一、 先安装pillow, 通过 python -m pip install pillow
二、安装完后,在官方网站上看操作过程。地址:pillow.readthedocs.io/en/
三、视图部分逻辑代码--
1、验证码部分 ( 注意:验证码要用全局变量来使得后期可以和输入的值进行验证)
def verifycode(request):
from PIL import Image, ImageDraw, ImageFont
import random #background
bgColor = (random.randrange(50,100),random.randrange(50,100),random.randrange(50,100)) #hight and length
width = 100
height = 25 #create a canvas
image = Image.new('RGB',(width,height),bgColor) #
#font = ImageFont.truetype('FreeMono.ttf',24)
#create a pen
draw = ImageDraw.Draw(image) #create a global empty string for verify code
global textTemp textTemp=''
#create char
for i in range(4):
textTemp1 = text[random.randrange(0, len(text))]
textTemp += textTemp1
draw.text((i*25,0) ,
#text[random.randrange(0,len(text))]
textTemp1 ,
(255,255,255),
)
request.session['code']=textTemp
#draw.text((0,0),text,(255,255,255)) #save
from io import BytesIO as StringIO
buf = StringIO()
image.save(buf,'png') #output to clinet return HttpResponse(buf.getvalue(),'image/png')
2、表格页面一的视图逻辑
def verifyTest1(request):
return render(request, 'booktest/verifyTest1.html')
3、验证输入的视图逻辑
def verifyTest2(request):
code = request.POST['code']
if( code == textTemp ):
return HttpResponse('You got it')
return HttpResponse('False')
四、创建模板
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<image src="/booktest/verifycode"></image><br>
<form action="verifyTest1" method="post">
{% csrf_token %}
<input type="text" name ="code1">
<input type="submit" name="submit">
</form>
</body>
</html>
#创建模板如果把 “form” 写成 “from” 就没法跳转了
五、创建url
url(r'^verifycode/$', views.verifycode),
url(r'^verifyTest1/$', views.verifyTest1),
url(r'^verifyTest2/$', views.verifyTest2)
六、效果

当输入的验证码错误,会返回“false”。 正确则返回“You got it.”
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 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,另一个是一个模块 ...
随机推荐
- python---面对对象的组合
组合 给一个类的对象封装一个属性,这个属性是另一个类的对象,这样我们在调用这个属性时就指向了另一个类的对象,这样我们就可以调用另一个类的方法. 模拟英雄联盟写一个游戏人物的类# 要求:# (1)创建一 ...
- [代码]--c#实现屏幕取词源码下载
最近公司有一个 项目需要实现类似于金山词霸,有道词典等的屏幕取词功能,准确来说是划词功能,网上搜了各种屏幕取词无外乎就两种: A.金山词霸组件法 B.Nhw32.dll法 百度搜到的重复内容真的太多了 ...
- day8 笔记
文件操作的最简单步骤open():打开文件,将句柄赋值给一个变量 read()write()等:操作文件 close():关闭文件,一定要关闭文件 ps:python会帮助你保存数据关闭文件,但是要在 ...
- Java 实现金额转换 代码示例
金额转换,阿拉伯数字的金额转换成中国传统的形式如: (¥1011)→(壹仟零壹拾壹元整)输出. 分析: 金额转换,在开发财务相关软件时会经常用到,也是软件本地化的一个需要.一般开发公司或者团队都有相应 ...
- 洛谷 P4174 [NOI2006]最大获利 解题报告
P4174 [NOI2006]最大获利 题目描述 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战.THU 集团旗下的 CS&T 通讯公司在新一代通讯技术血战的前夜,需要 ...
- cf1000D Yet Another Problem On a Subsequence (dp)
设f[i]是以i为开头的好子序列的个数 那么有$f[i]=\sum\limits_{j=i+a[i]+1}^{N+1}{f[j]*C_{j-i-1}^{a[i]}}$(设f[N+1]=1)就是以i为开 ...
- 【Linux】fg、bg让你的进程在前后台之间切换
Linux下的fg和bg命令是进程的前后台调度命令,即将指定号码(非进程号)的命令进程放到前台或后台运行.比如一个需要长时间运行的命令,我们就希望把它放入后台,这样就不会阻塞当前的操作:而一些服务型的 ...
- A1058. A+B in Hogwarts
If you are a fan of Harry Potter, you would know the world of magic has its own currency system -- a ...
- 【洛谷P3792】由乃与大母神原型和偶像崇拜
题目大意:维护一个序列,支持单点修改和查询一段区间能不能组成连续的一段数. 题解:查询区间能不能组成一段连续的数这个操作较为复杂,很难在较小时间复杂度内直接维护.这里采用线段树维护区间哈希的策略,即: ...
- SIFT特征点检测学习一(转载)
新手上路,先转载学习tornadomeet的博客:http://www.cnblogs.com/tornadomeet/archive/2012/08/16/2643168.html 特征点检测学习_ ...