Django captcha验证码应用【亲测可用】

news2024/11/26 1:41:55

1、下载captcha安装包:

pip install django-simple-captcha

pip3 install pillow -i Simple Index

2、在settings的INSTALLED_APPS添加:

'captcha',

3、在控制台执行:

生成迁移文件:python3 manage.py makemigrations

迁移文件生成表:python3 manage.py migrate

4、在主路由里增加下面代码:

path('captcha/', include('captcha.urls')),

5、在自己需要的App里的views.py里增加如下代码:

class LoginForm(forms.Form):

    '''
    属性:
    CharField:
    max_length:该字段值的最大长度;
	min-length:该字段值的最小长度;
	required:这个字段是否为必须的,默认为必须的;
	error_messages:某个条件验证失败时,给出的错误信息

	EmailField:
	error_messages的键:required、invaild

	FloatField:
	max_value:指定最大值
	min_value:指定最小值

	IntegerField:
	max_value:指定最大值
	min_value:指定最小值
	error_messages的键:required、invalid、max_value、min_value

	DateField
	接收年月日

	URLField
	error_messages的键:required、invalid

	常用验证器:
	MaxValueValidator:验证最大值
    MinValueValidator:验证最小值
    MinLengthValidator:验证最小长度
    MaxLengthValidator:验证最大长度
    EmailValidator:验证是否为邮箱格式
    URLValidator:验证是否为URL格式
    RegexValidator:验证是否匹配所指定的正则表达式,用来实现更复杂的验证
	举个例子:
	URLField = forms.CharFiedld(validators=[validators.URLValidator(message="请输入格式正确的地址")]
	'''

    s_name = forms.CharField(
        label="用户账号", 
        widget=forms.TextInput(attrs={"class":"form-control", "placeholder":"请输入用户账号"}),
        required=True,
    )
    s_pass = forms.CharField(
        label="用户密码", 
        widget=forms.PasswordInput(attrs={"class":"form-control", "placeholder":"请输入用户密码"}),
        required=True,
    )
    captcha = CaptchaField(error_messages={"invalid": "验证码错误,请重新填写"})

6、在html文件里增加以下代码

<div class="mb-3 col-sm-7">
   <label for="checknumber" class="form-label"><span class="bi bi-patch-check"></span> 验证码</label>
   {{ form.captcha }}
   <span style="color:red;">{{ form.captcha.errors }}</span>
</div>

<script>
    $('.captcha').click(function () {
        $.getJSON("/captcha/refresh/", function (result) {
            $('.captcha').attr('src', result['image_url']);
            $('#id_captcha_0').val(result['key'])
        });
    });
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/89075.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据流标准差计算方法-不用事先计算均值

数据流标准差计算方法-不用事先计算均值 挑战 标准差(Standard Deviation)是误差有效值的估计&#xff0c;在信号处理里面代表偏差有效值。公式定义需要事先知道均值&#xff08;引自百度百科&#xff09;&#xff1a; 数据流进来&#xff0c;你事先不知道均值&#xff0c;…

【云原生】k8s中kubectl陈述式资源管理

内容预知 1.k8s陈述资源管理方法的说明 1.1 管理k8s核心资源的三种基本方法 陈述式资源管理方法 声明式资源管理方法 GUI式资源管理方法 1.2 kubectl命令行工具 的说明 2.k8s集群中的基本信息查看 2.1 k8s中基本管理信息的查看 &#xff08;1&#xff09;查看版本信息 …

移动端内webview页面调试技巧

前言 长假七天乐确实很爽&#xff0c;只是疫情不稳定&#xff0c;还是呆在家里安全些&#xff0c; 在这宅在家的七天里&#xff0c;何不找点有趣的小demo耍耍 本期教大家制作一个 能播放M3U8直播源的在线电视台网站&#xff0c; 既能学到知识技术&#xff0c;又可以方便在家…

Vue之iconfont

iconfont的使用1.iconfont的使用2.多个iconfont如何做到不冲突1.iconfont的使用 1.打开iconfont官网链接 链接 2.搜索想要的图标&#xff0c;加入购物车 3.点击最上面一行购物车图标&#xff0c;添加至项目 &#xff08;如果没有项目&#xff0c;请先到 资源管理->我的项目…

B2:Unity制作Moba类游戏——聊天系统

一场游戏对局中&#xff0c;和队友进行友好的有礼貌的有效的沟通可以极大提升对局胜率。在LOL国服&#xff0c;打字和队友聊天沟通战术是非常常见的行为&#xff1a; 语言的力量是无限的&#xff0c;甚至可以和外国小伙伴效沟通战术&#xff1a; 聊天系统制作起来非常简单&…

jQuery图片批量上传插件源码,支持批量上传、预览、删除、放大,可配置上传数量、上传大小、追加方式,含详细使用文档

jQuery图片批量上传插件源码&#xff0c;支持批量上传、预览、删除、放大&#xff0c;可配置上传数量、上传大小、追加方式&#xff0c;含详细使用文档 程序包内含使用Demo 完整程序源代码&#xff1a;jQuery图片批量上传插件源码 上传前 上传后 使用方法 1、先引入jquer…

linux搭建nexus私服仓库并简单使用

linux搭建nexus私服仓库并简单使用1、linux搭建nexus私服仓库1.1、下载安装包1.2、linux安装1.3、启动和关闭1.4、登录控制台1.5、账号与密码2、创建自己的私服仓库3、上传 jar 包4、具体项目引入私服仓库1、linux搭建nexus私服仓库 1.1、下载安装包 下载nexus包&#xff0c;这…

用Python写一个新年倒计时

❤️‍&#x1f525;前言&#xff1a; 春回大地&#xff0c;万象更新!春在招手&#xff0c;朋友们&#xff0c;我们一起互相祝愿吧!一年更比一年好。时光苒&#xff0c;岁月如梭。踏着新年欢快的钟声&#xff0c;我们又迎来了这个期待已久的日子过去的一年&#xff0c;我们有泪…

m基于PSO粒子群优化的柔性制造系统AGV调度模型matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 在PSO中&#xff0c;群中的每个粒子表示为向量。在投资组合优化的背景下&#xff0c;这是一个权重向量&#xff0c;表示每个资产的分配资本。矢量转换为多维搜索空间中的位置。每个粒子也会记住它…

Word控件Spire.Doc 【超链接】教程(5):使用 C# 更改颜色或从 Word 中的超链接中删除下划线

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

STM32 ~ 定时器

定时器的基本框图&#xff1a; 不管是做PWM输出、定时中断还是输入捕获都肯定要搞清楚CK_INT 从哪里来&#xff0c;频率是多少&#xff1f;才能正确使用定时器。时钟肯定是来自时钟树&#xff0c;那我们就要去Reference manual里找找&#xff1a; 时钟源确实可以找到&#xf…

奈雪收购乐乐茶,茶饮品牌开启整合之路

近日&#xff0c;奈雪的茶以5.25亿元收购了乐乐茶43.64%的股权&#xff0c;成为其第一大股东。这是今年以来新式茶饮品牌最大的一笔投资&#xff0c;也使得奈雪的股价一路飙涨&#xff0c;五日涨幅超过15%&#xff0c;创下年内新高。 据《2022年中国新式茶饮研究报告》显示&…

【程序人生】卡塔尔世界杯吉祥物python海龟绘图(附源代码),世界杯主题前端特效5个(附源码)

卡塔尔世界杯吉祥物python海龟绘图&#xff08;附源代码&#xff09; 世界杯主题前端特效5个&#xff08;附源码&#xff09;程序人生 本文目录&#xff1a; 一、python turtle海龟绘图卡塔尔世界杯吉祥物 &#xff08;1&#xff09;、世界杯吉祥物“Laeeb”绘制效果图 &am…

数据结构---栈和队列

栈和队列栈入栈出栈栈的JAVA实现队列入队出队循环队列栈和队列。这两者都属于逻辑结构&#xff0c;它们的物理实现既可以利用数组&#xff0c;也可以利用链表来完成。 栈 栈&#xff08;stack&#xff09;是一种线性数据结构&#xff0c;它就像一个上图所示的放入乒乓球的圆筒…

实施 GitOps 的三个关键步骤

GitOps 是一种自动化和管理基础架构和应用程序的模型&#xff0c;通过许多团队已经使用的相同 DevOps 最佳实践来形成的模型&#xff0c;例如版本控制、代码审查和 CI/CD 流水线。在实施 DevOps 时&#xff0c;我们找到了自动化软件开发生命周期的方法&#xff0c;但在基础设施…

[附源码]Python计算机毕业设计高铁乘坐舒适性在线调查及评价系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

3399的-mipi适应多个lcd屏显示-后续2-linux内核中的修改

一、前提&#xff1a; 1. rk3399核心板 2.linux4.4.19 源码 3. 多个MIPI显示屏的启动序列以及显示时序&#xff08;重要&#xff09; 4.rk3399MIPI通道0 5.接上一个uboot中的修改配置 二、内核驱动的修改 0. dts就不再给出了&#xff0c;请参考uboot的修改 1. 主要涉及的…

基于C#开发的(WinForm)图书管理系统【100010037】

图书管理系统项目开发说明书 项目简介 项目背景&#xff08;选择这个项目的原因、前景&#xff0c;面向的用户&#xff0c;优势&#xff09;&#xff1b; * 根据学院需要希望能够充分利用现代科技来提高图书管理的效率&#xff0c;在原有的办公系统基础上进行扩展&#xff0c…

ArkUI框架,更懂程序员的UI信息语法

ArkUI框架&#xff0c;更懂程序员的信息语法ArkUI框架简化代码的“秘密” 在传统的开发过程中&#xff0c;总有个问题在困扰我&#xff1a;如何实现前端view与后端数据的同步更改&#xff1f;例如&#xff1a;在某个视频类app的页面&#xff0c;如果我想要实现视频的点击播放功…

移动端touch拖动事件和click事件冲突问题解决

通过本课程你会学到什么 1.系统掌握 Web 全栈技能树 2.网络、前后端、持久化等核心技术解析 3.全栈开发的技术比较和选型 4.拓宽技术视野&#xff0c;培养全栈思维 今天我们要接触一个和 MVC 密切相关的&#xff0c;能带来思维模式改变的编程范型——面向切面编程&#xff08;…