一、搭建简单逻辑框架
1、新建模板文件
将register.html文件拷贝到template文件下,配置css、js、images等文件路径
/static/css/reset.css 和 {% static ‘css/reset.css’ %}
这两种写法都和settings中配置的STATIC_URL = ‘/static/’相关,当STATIC_URL = ‘/my_static/’时,第一种写法需要改为 /my_static/css/reset.css,而第二种不需要修改
2、配置url
这里的RegisterView是根据第三步中的views的编写而来的,第二步和第三步是同时进行的
配置跳转到register.html页面的url,全局搜索注册按钮,配置url,这是根据name=register来的,
3、编写view
这里的原理和登陆类似
4、简单测试
启动项目,进入主页,没有退出先去后台注销退出,退出后
点击注册按钮
跳转到注册页面
二、验证码功能的配置和使用
Gitub上搜索django captcha,点击进去查看如何安装、如何使用,运用captcha这个包写验证码功能
http://django-simple-captcha.readthedocs.io/en/latest/usage.html
1、captcha的安装配置
第一步安装
第二步添加应用captcha
第三步执行migrations、migrate
第四步添加url
查看数据库,多了一张表,说明captcha的基本配置已经完成
2、captcha的使用
在forms.py中验证前端数据
编写forms,根据注册页面,需要验证邮箱、密码、验证码,注意RegisterForm中的邮箱、密码、验证码和模板中的name要一致
在views中·实例化RegisterView,将captcha自带的验证码数据传给前端模板
刷新注册页面,右击页面,查看网页源码,这里多生成了一段代码,下图中有两个input框,第一个是自动生成的hidden input,第二个是用户添验证码的input框
这里hidden input中的value与数据库中的hashkey是一样的,每个图片有一个value,但在前端页面显示的是图片,将图片的value与你输入的值作比对
3、完善view、测试
编写views中的post方法,和登录功能类似,实例化RegisterForm类,根据RegisterForm类用is_valid验证数据的有效性,通过验证后将用户注册的信息保存到数据库
配置模板,主要是method、action、csfr验证
测试
输入正确的用户名和密码,输入错误的验证码
打断点,调试
错误信息呈中文显示