django项目中的验证码模块

it2022-05-07  44

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进行组合验证。

转载于:https://www.cnblogs.com/liyu2151/p/7262316.html

相关资源:垃圾分类数据集及代码

最新回复(0)