【Django】使用captcha自动创建验证码

目录

[1.安装 django-simple-captcha模块](#1.安装 django-simple-captcha模块)

[2. 在INSTALLED_APPS设置中添加对其配置类的引用](#2. 在INSTALLED_APPS设置中添加对其配置类的引用)

3.迁移数据库

4.添加路由

5.在自定义的登录表单中添加验证码字段

6.在视图函数中验证验证码

7.在html模板中使用验证码


1.安装 django-simple-captcha模块

复制代码
 pip install django-simple-captcha

2. 在INSTALLED_APPS设置中添加对其配置类的引用

python 复制代码
INSTALLED_APPS = [
    # 图形验证码
    'captcha',
]

3.迁移数据库

python 复制代码
manage.py@Mysite > makemigrations
manage.py@Mysite > migrate

4.添加路由

python 复制代码
urlpatterns = [   
    path('captcha',include('captcha.urls')),
]

5.在自定义的登录表单中添加验证码字段

python 复制代码
class LoginForm(forms.Form):
    """用户登录表单"""
    # 重写用户名字段
    username = forms.CharField(
        label="用户名",
        widget=forms.TextInput,
        required=True
    )
    # 重写密码字段
    password = forms.CharField(
        label="密码",
        widget=forms.PasswordInput(render_value=True),
        required=True
    )
    # 验证码
    captcha = CaptchaField(
        label='验证码',
        # required参数用于确定是否为必填项
        required=True
    )

6.在视图函数中验证验证码

使用is_valid()函数验证

python 复制代码
# 接受返回表单
form = LoginForm(data=request.POST)
# 验证验证码是否匹配
if form.is_valid():
    pass

7.在html模板中使用验证码

html 复制代码
        <div class="form-group">
            <label>验证码</label>
            {{ form.captcha }}
        </div>
相关推荐
weixin_586061461 分钟前
Navicat导入Excel表格报错怎么跳过_忽略错误记录高级选项
jvm·数据库·python
2301_7735536213 分钟前
golang如何理解编译指示pragma_golang编译指示pragma策略
jvm·数据库·python
qq_3422958214 分钟前
c++字符串运算_连接、比较、输入输出等运算符重载应用
jvm·数据库·python
【建模先锋】14 分钟前
精品数据分享 | 锂电池数据集(10)基于阻抗的锂离子电池在不均衡使用情况下的性能预测
人工智能·python·深度学习·锂电池·锂电池寿命预测·锂电池数据集·剩余寿命预测
m0_7467523015 分钟前
如何生成ADDM报告_@addmrpt.sql自动数据库诊断监控工具
jvm·数据库·python
2301_8148098621 分钟前
如何快速查询SQL中的重复记录:GROUP BY与COUNT统计
jvm·数据库·python
m0_6845019821 分钟前
如何配置DG的备库延迟应用_DELAY参数实现在备库防范主库人为误操作逻辑错误
jvm·数据库·python
m0_5150984223 分钟前
Redis怎样强行终止陷入死循环的Lua脚本
jvm·数据库·python
枫叶丹424 分钟前
【HarmonyOS 6.0】ArkWeb PDF预览回调功能详解:让PDF加载状态可控可感
开发语言·华为·pdf·harmonyos
2301_8176722625 分钟前
SQL中RIGHT JOIN真的很少用吗_数据完整性检查与反向关联分析
jvm·数据库·python