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 文件和路径操作函数小结
Nov 23 Python
python基于mysql实现的简单队列以及跨进程锁实例详解
Jul 07 Python
python简单实现计算过期时间的方法
Jun 09 Python
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
Jan 12 Python
python实现发送邮件功能
Jul 22 Python
django模板语法学习之include示例详解
Dec 17 Python
将字典转换为DataFrame并进行频次统计的方法
Apr 08 Python
Python+OpenCV采集本地摄像头的视频
Apr 25 Python
Python 装饰器原理、定义与用法详解
Dec 07 Python
在Python中用GDAL实现矢量对栅格的切割实例
Mar 11 Python
Python ConfigParser模块的使用示例
Oct 12 Python
Python用any()函数检查字符串中的字母以及如何使用all()函数
Apr 14 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 缓存函数代码
2008/08/27 PHP
PHP 文件上传源码分析(RFC1867)
2009/10/30 PHP
Linux下PHP连接Oracle数据库
2014/08/20 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
2014/11/24 PHP
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
js图片自动切换效果处理代码
2013/05/07 Javascript
jquery解析xml字符串简单示例
2014/04/11 Javascript
IE浏览器中图片onload事件无效的解决方法
2014/04/29 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
2014/06/07 Javascript
jQuery的:parent选择器定义和用法
2014/07/01 Javascript
JS取得绝对路径的实现代码
2015/01/16 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
js获取所有checkbox的值的简单实例
2016/05/30 Javascript
Bootstrap风格的WPF样式
2016/12/07 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
2017/01/11 Javascript
nodejs个人博客开发第六步 数据分页
2017/04/12 NodeJs
详解layui弹窗父子窗口之间传参数的方法
2018/01/16 Javascript
Vue常用的几个指令附完整案例
2018/11/06 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
layui固定下拉框的显示条数(有滚动条)的方法
2019/09/10 Javascript
JS实现星星海特效
2019/12/24 Javascript
python求列表交集的方法汇总
2014/11/10 Python
Python之自动获取公网IP的实例讲解
2017/10/01 Python
Django配置celery(非djcelery)执行异步任务和定时任务
2018/07/16 Python
pymysql模块的使用(增删改查)详解
2019/09/09 Python
Python和Sublime整合过程图示
2019/12/25 Python
Python中文分词库jieba,pkusegwg性能准确度比较
2020/02/11 Python
Python新手学习标准库模块命名
2020/05/29 Python
python中加背景音乐如何操作
2020/07/19 Python
台湾7-ELEVEN线上购物中心:7-11
2021/01/21 全球购物
主题团日活动总结
2014/06/25 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
正规借条模板
2015/05/26 职场文书
如何写一份成功的商业计划书
2019/06/25 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书