系列:Django学习教程
验证码的存在是为了防止系统被暴力破解攻击,几乎每个系统都有验证码。下面将介绍三种生成验证码方式。
您可以根据你自己的需要进行学习。
手动生成验证码
安装绘图依赖,利用的是画图模块 PIL 以及随机模块 random 在后台生成一个图片和一串随机数,然后保存在内存中。
pip install pillow
编写跨图工具
code.py
注意需要指定 Monaco.ttf 字体 ,我这里直接放在项目根目录:font_file='Monaco.ttf'
import random
from PIL import Image, ImageDraw, ImageFont, ImageFilter
def check_code(width=120, height=30, char_length=5, font_file='Monaco.ttf', font_size=28):
code = []
img = Image.new(mode='RGB', size=(width, height), c
本文是Django学习教程的一部分,介绍了三种验证码的实现方式:手动绘制验证码,自动生成验证码以及滑动验证码。手动验证码涉及画图模块和随机数生成,通过视图函数和session进行校验。自动生成验证码则依赖第三方库并集成到Django容器。滑动验证码利用Ajax和后台交互验证。每种验证码的实现都包括了视图、路由、表单和模板的详细步骤。
订阅专栏 解锁全文
1413

被折叠的 条评论
为什么被折叠?



