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 05 Python
python3编写C/S网络程序实例教程
Aug 25 Python
python3抓取中文网页的方法
Jul 28 Python
python的random模块及加权随机算法的python实现方法
Jan 04 Python
PyQt5实现从主窗口打开子窗口的方法
Jun 19 Python
python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例
Feb 28 Python
python3 deque 双向队列创建与使用方法分析
Mar 24 Python
Pythonic版二分查找实现过程原理解析
Aug 11 Python
Python实现JS解密并爬取某音漫客网站
Oct 23 Python
python从PDF中提取数据的示例
Oct 30 Python
用python写一个带有gui界面的密码生成器
Nov 06 Python
解决hive中导入text文件遇到的坑
Apr 07 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
跟我学小偷程序之成功偷取首页(第三天)
2006/10/09 PHP
GD输出汉字的函数的分析
2006/10/09 PHP
php多文件上传功能实现原理及代码
2013/04/18 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
2014/06/22 PHP
php 生成签名及验证签名详解
2016/10/26 PHP
数组方法解决JS字符串连接性能问题有争议
2011/01/12 Javascript
使用原生javascript创建通用表单验证——更锋利的使用dom对象
2011/09/13 Javascript
jQuery统计上传文件大小的方法
2015/01/24 Javascript
JavaScript函数作用域链分析
2015/02/13 Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
2016/10/10 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
2016/11/10 Javascript
angularjs实现首页轮播图效果
2017/04/14 Javascript
javascript实现Emrips反质数枚举的示例代码
2017/12/06 Javascript
jquery无缝图片轮播组件封装
2020/11/25 jQuery
Vue v-model组件封装(类似弹窗组件)
2020/01/08 Javascript
[47:31]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.12
2020/12/16 DOTA
python使用BeautifulSoup分析网页信息的方法
2015/04/04 Python
Python时间获取及转换知识汇总
2017/01/11 Python
Python中selenium实现文件上传所有方法整理总结
2017/04/01 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
python如何导入依赖包
2020/07/13 Python
Canvas实现保存图片到本地的示例代码
2018/06/28 HTML / CSS
为您搜罗全球潮流時尚品牌:HBX
2019/12/04 全球购物
自荐信的禁忌和要点
2013/10/15 职场文书
自荐书封面下载
2013/11/29 职场文书
销售人员获奖感言
2014/02/05 职场文书
学校党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
办护照工作证明
2014/10/01 职场文书
医学专业大学生职业生涯规划书
2014/10/25 职场文书
办公楼租房协议书范本
2014/11/25 职场文书
党支部培养考察意见
2015/06/02 职场文书
小学家长意见怎么写
2015/06/03 职场文书
感谢师恩主题班会
2015/08/17 职场文书
乡镇司法所2015年度工作总结
2015/10/14 职场文书
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript