Django为窗体加上防机器人的验证码功能过程解析


Posted in Python onAugust 14, 2019

这里我们使用 django-simple-captcha 模块,官方介绍如下:https://github.com/mbi/django-simple-captcha

一键安装:

pip install django-simple-captcha

在 setting.py 中把 'captcha' 加到 INSTALLED_APP 的区块中

INSTALLED_APPS = (
  # ...
  'captcha',
  # ... 
)

由于此模块会到数据库建立自己的数据表,因此要先执行数据库的 migrate 操作:

python manage.py migrate

在 urls.py 中加上这个模块对应的网址:

from django.urls import path, re_path, include
urlpatterns = [
  #...
  url(r'^captcha/', include('captcha.urls'),
  # ...
]

在窗体类中加上 CaptchaField 字段 :

from captcha.fields import CaptchaField
class PostForm(forms.ModelForm):
  captcha = CaptchaField() #CaptchaField 字段
  class Meta:
    model = models.Post
    fields = ['mood', 'nickname', 'message', 'del_pass']

  def __init__(self, *args, **kwargs):
    super(PostForm, self).__init__(*args, **kwargs)
    self.fields['mood'].label = '现在的心情'
    self.fields['nickname'].label = '您的昵称'
    self.fields['message'].label = '心情留言'
    self.fields['del_pass'].label = '设置密码'
    self.fields['captcha'].label = '请输入验证码'

运行结果如下:

Django为窗体加上防机器人的验证码功能过程解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python写的一个简单监控系统
Jun 19 Python
python3实现UDP协议的服务器和客户端
Jun 14 Python
Python列表list内建函数用法实例分析【insert、remove、index、pop等】
Jul 24 Python
Python Socket编程之多线程聊天室
Jul 28 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
Nov 06 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
Dec 10 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
Aug 24 Python
Python Django框架模板渲染功能示例
Nov 08 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
Mar 13 Python
Python+Kepler.gl实现时间轮播地图过程解析
Jul 20 Python
python实现逻辑回归的示例
Oct 09 Python
python游戏开发Pygame框架
Apr 22 Python
Python 利用高德地图api实现经纬度与地址的批量转换
Aug 14 #Python
Django如何使用第三方服务发送电子邮件
Aug 14 #Python
Python3 chardet模块查看编码格式的例子
Aug 14 #Python
Python 从subprocess运行的子进程中实时获取输出的例子
Aug 14 #Python
python3调用windows dos命令的例子
Aug 14 #Python
python脚本执行CMD命令并返回结果的例子
Aug 14 #Python
用Python调用win命令行提高工作效率的实例
Aug 14 #Python
You might like
php INI配置文件的解析实现分析
2011/01/04 PHP
php实现图片缩略图的方法
2016/03/29 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
PHP调用其他文件中的类
2018/04/02 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
JS获取页面窗口大小的代码解读
2011/12/01 Javascript
js 获取、清空input type="file"的值示例代码
2014/02/19 Javascript
jQuery中对未来的元素绑定事件用bind、live or on
2014/04/17 Javascript
Zero Clipboard实现浏览器复制到剪贴板的方法(多个复制按钮)
2016/03/24 Javascript
JavaScript数值千分位格式化的两种简单实现方法
2016/08/01 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
2016/08/31 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
你有必要知道的10个JavaScript难点
2017/07/25 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
JavaScript实现图片轮播特效
2019/10/23 Javascript
JS实现的进制转换,浮点数相加,数字判断操作示例
2019/11/09 Javascript
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
python网络编程学习笔记(二):socket建立网络客户端
2014/06/09 Python
Python切片知识解析
2016/03/06 Python
Windows上使用virtualenv搭建Python+Flask开发环境
2016/06/07 Python
Python多图片合并PDF的方法
2019/01/03 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
2020/01/20 Python
解决Tensorflow占用GPU显存问题
2020/02/03 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
2020/08/22 Python
STAY JAPAN台湾:预订日本民宿
2018/07/22 全球购物
美国鲍勃商店:Bob’s Stores
2018/07/22 全球购物
2014年3.15团委活动总结
2014/03/16 职场文书
小学生田径运动会广播稿
2014/09/11 职场文书
房屋租赁委托书范本
2014/10/04 职场文书
门球健将观后感
2015/06/16 职场文书
2016廉洁从政心得体会
2016/01/19 职场文书
Python爬虫基础之简单说一下scrapy的框架结构
2021/06/26 Python
Nginx+Tomcat负载均衡集群的实现示例
2021/10/24 Servers
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
2022/12/24 HTML / CSS