【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>
相关推荐
菜菜小狗的学习笔记5 分钟前
Java SE(一)内部类、Lambda表达式、Stream流
java·开发语言
码云数智-园园5 分钟前
Java中的重载(Overload)与重写(Override):本质区别、场景与注意事项
java·开发语言
yxm26336690816 分钟前
洛谷P1217回文质数
java·开发语言
金斗潼关6 分钟前
java反序列化入口方法介绍
java·开发语言·jvm·序列化·反序列化
量子炒饭大师6 分钟前
【C++模板进阶】——【非类型模板参数 / 模板的特化 / 模板分离编译】
开发语言·c++·dubbo·模板·非类型模板·模板的特化·模板分离编译
雨师@8 分钟前
python包uv使用介绍
开发语言·python·uv
吴声子夜歌9 分钟前
JavaScript——异步编程
开发语言·前端·javascript
武藤一雄10 分钟前
C# 核心技术解析:Parse vs TryParse 实战指南
开发语言·windows·microsoft·微软·c#·.netcore
一直都在57211 分钟前
Java并发面经(二)
java·开发语言·spring
aloha_78919 分钟前
软考高项-第二章-信息技术发展
java·人工智能·python·学习