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使用nntp读取新闻组内容的方法
May 08 Python
python实现用户登陆邮件通知的方法
Jul 09 Python
在Python的Django框架的视图中使用Session的方法
Jul 23 Python
基于Python实现通过微信搜索功能查看谁把你删除了
Jan 27 Python
python3+PyQt5实现自定义流体混合窗口部件
Apr 24 Python
快速解决PyCharm无法引用matplotlib的问题
May 24 Python
Django中使用第三方登录的示例代码
Aug 20 Python
使用Python Pandas处理亿级数据的方法
Jun 24 Python
TensorFlow 读取CSV数据的实例
Feb 05 Python
Python代码中如何读取键盘录入的值
May 27 Python
Pandas替换及部分替换(replace)实现流程详解
Oct 12 Python
python 录制系统声音的示例
Dec 21 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中Swoole的热更新实现代码实例
2021/03/04 PHP
jQuery中focus事件用法实例
2014/12/26 Javascript
实例解析jQuery插件EasyUI最常用的表单验证规则
2015/11/29 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
js前端面试题及答案整理(一)
2016/08/26 Javascript
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
浅谈angular.js跨域post解决方案
2017/08/30 Javascript
Vue在页面右上角实现可悬浮/隐藏的系统菜单
2018/05/04 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
js类的继承定义与用法分析
2019/06/21 Javascript
微信小程序转发事件实现解析
2019/10/22 Javascript
js回调函数仿360开机
2019/12/26 Javascript
JS实现碰撞检测效果
2020/03/12 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
Python采用socket模拟TCP通讯的实现方法
2014/11/19 Python
python sort、sorted高级排序技巧
2014/11/21 Python
浅谈MySQL中的触发器
2015/05/05 Python
总结用Pdb库调试Python的方式及常用的命令
2016/08/18 Python
Python实现注册登录系统
2017/08/08 Python
ubuntu环境下python虚拟环境的安装过程
2018/01/07 Python
Python简单爬虫导出CSV文件的实例讲解
2018/07/06 Python
Python 函数返回值的示例代码
2019/03/11 Python
Python中拆分字符串的操作方法
2019/07/23 Python
python3用urllib抓取贴吧邮箱和QQ实例
2020/03/10 Python
SIXPAD智能健身仪英国官网:革命性的训练装备品牌
2018/09/27 全球购物
利达恒信公司.NET笔试题面试题
2016/03/05 面试题
社团活动总结怎么写
2014/06/30 职场文书
小学三好学生事迹材料
2014/08/15 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书
学校党的群众路线教育实践活动整改措施
2014/10/25 职场文书
学校师德师风整改方案
2014/10/28 职场文书
物业保安辞职信
2015/05/12 职场文书
正规欠条模板
2015/07/03 职场文书
mysql中between的边界,范围说明
2021/06/08 MySQL
pycharm部署django项目到云服务器的详细流程
2021/06/29 Python
「玫瑰之王的葬礼」舞台剧主视觉图公开
2022/03/21 日漫