码迷,mamicode.com
首页 > 其他好文 > 详细

django项目中的验证码模块

时间:2017-07-31 12:33:34      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:message   隐藏   inpu   types   组合   required   rom   invalid   migration   

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项目中的验证码模块

标签:message   隐藏   inpu   types   组合   required   rom   invalid   migration   

原文地址:http://www.cnblogs.com/liyu2151/p/7262316.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!