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 相关文章推荐
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
Aug 18 Python
Python使用selenium实现网页用户名 密码 验证码自动登录功能
May 16 Python
python编写简易聊天室实现局域网内聊天功能
Jul 28 Python
Linux下多个Python版本安装教程
Aug 15 Python
python获取txt文件词向量过程详解
Jul 05 Python
在VS2017中用C#调用python脚本的实现
Jul 31 Python
详解Python3定时器任务代码
Sep 23 Python
python KNN算法实现鸢尾花数据集分类
Oct 24 Python
Python使用Tkinter实现滚动抽奖器效果
Jan 06 Python
执行Python程序时模块报错问题
Mar 26 Python
详解python UDP 编程
Aug 24 Python
python可视化之颜色映射详解
Sep 15 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
各种咖啡的英文名子是什么
2021/03/03 新手入门
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
2007/03/15 PHP
MySQL数据库转移,access,sql server 转 MySQL 的图文教程
2007/09/02 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
2014/10/21 PHP
PHP实现无限级分类(不使用递归)
2015/10/22 PHP
CI(CodeIgniter)框架实现图片上传的方法
2017/03/24 PHP
thinkPHP5.1框架中Request类四种调用方式示例
2019/08/03 PHP
如何通过PHP实现Des加密算法代码实例
2020/05/09 PHP
需要做特殊处理的DOM元素属性的访问
2010/11/05 Javascript
判断用户是否在线的代码
2011/03/05 Javascript
JQ实现新浪游戏首页幻灯片
2015/07/29 Javascript
原生JS获取元素集合的子元素宽度实例
2016/12/14 Javascript
JavaScript实现星级评分
2017/01/12 Javascript
JS实现网页抢购功能(触发,终止脚本)
2017/11/27 Javascript
React中使用外部样式的3种方式(小结)
2019/05/28 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
Vue 自适应高度表格的实现方法
2020/05/13 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
Python Property属性的2种用法
2015/06/21 Python
深入讲解Java编程中类的生命周期
2016/02/05 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
2016/12/12 Python
对python sklearn one-hot编码详解
2018/07/10 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
完美解决python3.7 pip升级 拒绝访问问题
2019/07/12 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
2020/04/10 Python
团支书的期末学习总结自我评价
2013/11/01 职场文书
测绘工程专业个人自我评价
2013/12/01 职场文书
银行见习期自我鉴定
2014/01/29 职场文书
物流管理专业求职信
2014/05/29 职场文书
故意杀人案辩护词
2015/05/21 职场文书
让人瞬间清醒的句子,句句经典,字字如金
2019/07/08 职场文书
《好妈妈胜过好老师》:每个孩子的优秀都是有源头的
2020/01/03 职场文书
iPhone13再次曝光
2021/04/15 数码科技
面试必问:圣杯布局和双飞翼布局的区别
2021/05/13 HTML / CSS
图解排序算法之希尔排序Java实现
2021/06/26 Java/Android
《吸血鬼:避世 血猎》官宣4.27发售 系列首款大逃杀
2022/04/03 其他游戏