Django 学习:为窗体加上防机器人的验证机制(验证码功能)

简介:   这里我们使用 django-simple-captcha 模块,官方介绍如下:https://github.com/mbi/django-simple-captcha一键安装:pip install django-simple-captcha 在 setting.

  这里我们使用 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 = '请输入验证码'

 

运行结果如下:

 

相关文章
|
1月前
|
存储 数据库 文件存储
掌握Django文件处理:一步步构建上传功能
文件上传算是一种很常见的需求,几乎构建很多项目系统,以及插件都需要用到。 通过上面例子可以看到django通过forms表单的形式灵活定义文件上传的页面,字段,以及数据库存储。 在实际项目中我们还要考虑到安全性,包括检查文件大小(可通过FileField的max_length属性设置)、防止路径遍历攻击。 还需注意服务器端的验证,比如检查文件类型、内容安全等。
|
1月前
|
传感器 人工智能 算法
适应多形态多任务,最强开源机器人学习系统八爪鱼诞生
【6月更文挑战第6天】【八爪鱼开源机器人学习系统】由加州大学伯克利分校等机构研发,适用于多形态多任务,已在arXiv上发表。系统基于transformer,预训练于800k机器人轨迹数据集,能快速适应新环境,支持单臂、双机械臂等。特点是多形态适应、多任务处理、快速微调及开源可复现。实验显示其在9个平台有效,但仍需改进传感器处理和语言指令理解。论文链接:https://arxiv.org/pdf/2405.12213
34 1
|
18天前
|
编解码 前端开发 JavaScript
技术经验分享:Django学习日记
技术经验分享:Django学习日记
|
21天前
|
缓存 机器人 网络安全
解决steam错误提示“您对 CAPTCHA 的响应似乎无效,请在下方重新验证您不是机器人”的解决办法
在使用 Steam 的过程中,许多新手用户可能会遇到这样一个问题:当他们试图完成注册或其他操作时,系统提示“您对 CAPTCHA 的响应似乎无效,请在下方重新验证您不是机器人。”即使多次尝试,错误提示仍然出现,阻碍了用户的下一步操作。这种情况可能令人沮丧,但了解其背后的原因和解决办法可以帮助我们顺利解决这个问题。
136 11
|
19天前
|
安全 API 数据安全/隐私保护
Django REST framework安全实践:轻松实现认证、权限与限流功能
Django REST framework安全实践:轻松实现认证、权限与限流功能
|
1天前
|
程序员 API 数据库
Django/Flask深度揭秘:揭秘那些让程序员爱不释手的神奇功能!
【7月更文挑战第14天】Django的ORM简化数据库操作,强大的模板引擎助力高效HTML渲染,内置功能丰富且可扩展。Flask以其灵活路由、强大扩展生态和高度可定制性著称,轻量而不失功能。两者各具魅力,满足不同Web开发需求。
7 0
|
28天前
|
存储 JavaScript 前端开发
Python Django下的实现注册验证码
摘要: 使用Python生成随机验证码图像,包括干扰线和噪点,保存到静态文件夹,并将验证码文本存储到数据库。数据库表包含ID、验证码图片路径和验证码文本。JavaScript函数`getRandomInt`生成1到300的随机数,用于请求对应数据库条目的验证码和图片。XMLHttpRequest发送POST请求到服务器,视图函数返回指定ID的验证码图片路径,实现验证码的动态刷新。
|
1月前
|
存储 搜索推荐 数据库
Web实战丨基于Django与HTML的用户登录验证系统
Web实战丨基于Django与HTML的用户登录验证系统
30 1
|
1月前
|
缓存 监控 中间件
探究Django中间件的神奇:功能、应用场景和核心方法
在Django中,中间件是一个强大的概念,它们提供了一种灵活的方式来处理请求和响应。本文将探讨Django中间件的基本概念、常见应用场景以及中间件类中的父类和核心方法。
|
1月前
|
前端开发 JavaScript 数据库
四. Django项目之电商购物商城 -- 图片验证码生成
四. Django项目之电商购物商城 -- 图片验证码生成