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的id()函数解密过程
Dec 25 Python
python实现的文件同步服务器实例
Jun 02 Python
python中input()与raw_input()的区别分析
Feb 27 Python
Python 性能优化技巧总结
Nov 01 Python
Python实现PS滤镜特效之扇形变换效果示例
Jan 26 Python
Python输出各行命令详解
Feb 01 Python
浅谈Django中的数据库模型类-models.py(一对一的关系)
May 30 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
May 30 Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
Aug 02 Python
Django中的cookie和session
Aug 27 Python
Python语言编写智力问答小游戏功能
Oct 13 Python
PyCharm2020.3.2安装超详细教程
Feb 08 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生成的一个树叶图片画图例子
2014/04/16 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
2015/08/27 PHP
thinkphp微信开发(消息加密解密)
2015/12/02 PHP
PHP+Ajax实现的检测用户名功能简单示例
2019/02/12 PHP
ThinkPHP 5.x远程命令执行漏洞复现
2019/09/23 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
javascript preload&lazy load
2010/05/13 Javascript
javascript Array对象基础知识小结
2010/11/16 Javascript
面向对象Javascript核心支持代码分享
2012/05/23 Javascript
javascript数组操作总结和属性、方法介绍
2014/04/05 Javascript
jQuery学习笔记之总体架构
2014/06/03 Javascript
超详细的javascript数组方法汇总
2015/11/21 Javascript
JavaScript正则表达式匹配 div  style标签
2016/03/15 Javascript
前端jquery部分很精彩
2016/05/03 Javascript
快速解决Vue项目在IE浏览器中显示空白的问题
2018/09/04 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
Python利用带权重随机数解决抽奖和游戏爆装备问题
2016/06/16 Python
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
Python 识别12306图片验证码物品的实现示例
2020/01/20 Python
python图形开发GUI库wxpython使用方法详解
2020/02/14 Python
python 解决Windows平台上路径有空格的问题
2020/11/10 Python
安装pyinstaller遇到的各种问题(小结)
2020/11/20 Python
websocket+sockjs+stompjs详解及实例代码
2018/11/30 HTML / CSS
HTML5中外部浏览器唤起微信分享功能的代码
2020/09/15 HTML / CSS
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
Nixon手表英国官网:美国尼克松手表品牌
2020/02/10 全球购物
女大学生毕业找工作的自我评价
2013/10/03 职场文书
日语翻译个人求职的自我评价
2013/10/14 职场文书
应届毕业生求职自荐书
2014/01/03 职场文书
劳动纠纷调解协议书格式
2014/11/30 职场文书
幼儿园三八妇女节活动总结
2015/02/06 职场文书
二审答辩状范文
2015/05/22 职场文书
志愿者工作心得体会
2016/01/15 职场文书
小学五年级(说明文3篇)
2019/08/13 职场文书
MySQL通过binlog恢复数据
2021/05/27 MySQL
浅谈css实现背景颜色半透明的两种方法
2021/12/06 HTML / CSS