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警察与小偷的实现之一客户端与服务端通信实例
Oct 09 Python
python中Flask框架简单入门实例
Mar 21 Python
Python实现二叉树结构与进行二叉树遍历的方法详解
May 24 Python
Python+微信接口实现运维报警
Aug 27 Python
python3中int(整型)的使用教程
Mar 23 Python
Python实现曲线点抽稀算法的示例
Oct 12 Python
python使用matplotlib模块绘制多条折线图、散点图
Apr 26 Python
python函数修饰符@的使用方法解析
Sep 02 Python
python程序 创建多线程过程详解
Sep 23 Python
从numpy数组中取出满足条件的元素示例
Nov 26 Python
django框架cookie和session用法实例详解
Dec 10 Python
python闭包与引用以及需要注意的陷阱
Sep 18 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
十大催泪虐心动漫电影,有几部你还没看
2020/03/04 日漫
php5编程中的异常处理详细方法介绍
2008/07/29 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
2014/03/14 PHP
ThinkPHP3.1新特性之查询条件预处理简介
2014/06/19 PHP
PHP获取星期几的常用方法小结
2018/12/18 PHP
PHP生成随机密码4种方法及性能对比
2020/12/11 PHP
PHP加MySQL消息队列深入理解
2021/02/27 PHP
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
js下获得客户端操作系统的函数代码(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008)
2011/10/31 Javascript
JQuery中根据属性或属性值获得元素(6种情况获取方法)
2013/01/17 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
JS+CSS实现大气的黑色首页导航菜单效果代码
2015/09/10 Javascript
几种经典排序算法的JS实现方法
2016/03/25 Javascript
jquery分页插件jquery.pagination.js使用方法解析
2016/04/01 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
2016/12/08 Javascript
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
2020/08/19 Javascript
vscode 调试 node.js的方法步骤
2020/09/15 Javascript
Python模块搜索概念介绍及模块安装方法介绍
2015/06/03 Python
实例讲解Python设计模式编程之工厂方法模式的使用
2016/03/02 Python
Python中import导入上一级目录模块及循环import问题的解决
2016/06/04 Python
Python实现发送与接收邮件的方法详解
2018/03/28 Python
python的常用模块之collections模块详解
2018/12/06 Python
python3对拉勾数据进行可视化分析的方法详解
2019/04/03 Python
Python实现在Windows平台修改文件属性
2020/03/05 Python
Django实现celery定时任务过程解析
2020/04/21 Python
工程造价自荐信
2013/10/09 职场文书
年终自我鉴定
2013/10/09 职场文书
答谢会策划方案
2014/05/12 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
班级读书活动总结
2014/06/30 职场文书
2014年政协委员工作总结
2014/12/01 职场文书
技术支持岗位职责
2015/02/13 职场文书
团队合作精神学习心得体会
2016/01/19 职场文书
html2 canvas svg不能识别的解决方案
2021/06/03 HTML / CSS
Python实战之OpenCV实现猫脸检测
2021/06/26 Python