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中fileno()方法的使用
May 24 Python
python模块之paramiko实例代码
Jan 31 Python
Python切片索引用法示例
May 15 Python
python判断数字是否是超级素数幂
Sep 27 Python
从运行效率与开发效率比较Python和C++
Dec 14 Python
Django如何使用第三方服务发送电子邮件
Aug 14 Python
django之自定义软删除Model的方法
Aug 14 Python
如何使用repr调试python程序
Feb 28 Python
详解pyinstaller生成exe的闪退问题解决方案
Jun 19 Python
Python实现天气查询软件
Jun 07 Python
教你怎么用Python实现GIF动图的提取及合成
Jun 15 Python
Python日志模块logging用法
Jun 05 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/04/09 PHP
测试php连接mysql是否成功的代码分享
2014/01/24 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
PHP使用NuSOAP调用Web服务的方法
2015/07/18 PHP
JS 分号引起的一段调试问题
2009/06/18 Javascript
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
javascript实时显示北京时间的方法
2015/03/12 Javascript
基于jquery实现全屏滚动效果
2015/11/26 Javascript
微信小程序 地图map详解及简单实例
2017/01/10 Javascript
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
2017/09/12 Javascript
详解Vue中一种简易路由传参办法
2017/09/15 Javascript
AngularJS中的路由使用及实现代码
2017/10/09 Javascript
详谈构造函数加括号与不加括号的区别
2017/10/26 Javascript
jQuery实现定时隐藏对话框的方法分析
2018/02/12 jQuery
jQuery实现常见的隐藏与展示列表效果示例
2018/06/04 jQuery
从0到1构建vueSSR项目之路由的构建
2019/03/07 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
原生js实现购物车
2020/09/23 Javascript
Python使用openpyxl读写excel文件的方法
2017/06/30 Python
Python实现两个list求交集,并集,差集的方法示例
2018/08/02 Python
python网络应用开发知识点浅析
2019/05/28 Python
Python爬虫学习之获取指定网页源码
2019/07/30 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
2020/05/09 Python
Django日志及中间件模块应用案例
2020/09/10 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
美国滑雪和滑雪板商店:Buckman
2018/03/03 全球购物
印度尼西亚电子产品购物网站:Kliknklik
2018/06/05 全球购物
英国最大的在线快递公司之一:ParcelHero
2019/11/04 全球购物
Piercing Pagoda官网:耳环、戒指、项链、手链等
2020/09/28 全球购物
会计专业自荐信范文
2013/12/02 职场文书
大二学期个人自我评价
2014/01/13 职场文书
祖国在我心中演讲稿600字
2014/05/04 职场文书
村班子对照检查材料
2014/08/18 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
创业计划书之零食店(进口)
2019/09/24 职场文书