django项目中的验证码模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django项目中的验证码模块相关的知识,希望对你有一定的参考价值。

1、安装验证码模块:

pip install django-simple-captcha==0.4.6

2、验证码模块注册到django setting.py中的 INSTALLED_APPS:

# 注册app的配置
INSTALLED_APPS = [
    django.contrib.admin,
    django.contrib.auth,
    django.contrib.contenttypes,
    django.contrib.sessions,
    django.contrib.messages,
    django.contrib.staticfiles,
    users,
    courses,
    operation,
    organzation,
    crispy_forms,
    xadmin,
    # 验证码模块
    captcha,
]

3、同步数据库,把验证码相关的表迁移到本地数据库:

python manage.py makemigrations
python manage.py migrate

4、添加验证码的url到django路由系统:

url(r^captcha/, include(captcha.urls))

5、使用captcha自带的field生成input标签,使用django的模板语言,部署到前端页面:

from captcha.fields import CaptchaField
# 注册表单验证 
class RegisterForm(forms.Form):
    email = forms.EmailField(error_messages={required: 邮箱为必填项}, required=True)
    password = forms.CharField(error_messages={required: 密码为必填项, min: 密码限制为6-18位, max: 密码限制为6-18位},
                               required=True, max_length=18, min_length=6)
    # 验证码自带的Field
    captcha = CaptchaField(error_messages={invalid: u验证码输入错误})

6、验证码验证逻辑:

  每次生成一个验证码,数据库就会保存相应的字母,并生成一段hashkey,hashkey会在一个隐藏的input标签中,随着用户提交表单,一起发送到后端验证,后端会根据验证码和这段hashkey进行组合验证。

以上是关于django项目中的验证码模块的主要内容,如果未能解决你的问题,请参考以下文章

django项目验证码(PIL库实现)

Django 项目试炼blog(10) --补充 滑动验证码

基于django实现图文验证码两种方式

django项目一:基于django2.2可重用登录与注册模块-Django表单

django项目一:基于django2.2可重用登录与注册模块-Django表单

Django之验证码