1. 项目简介
基于Django3实现的通用用户登陆注册系统。实现功能:注册,登陆,登出,异步邮件发送,验证码确认等可重用注册系统
2. 项目地址
https://gitee.com/sdsnzy/login-register_zy:Django可重用注册系统项目
3. 数据库结构
用户表:
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
认证信息表:
|
|
|
---|---|---|
|
|
|
|
|
|
|
|
|
4. 项目应用技术
- django插件:ignore
- 验证码:django-simple-captcha
- 异步邮件发送:smtp协议(163邮箱)
- 前端css:Bootstrap框架
- session会话:登录后,存储信息到session中,登出后清空session
- hash加密: (这里使用Python内置的hashlib库)为了数据的安全性注册时,密码存储到数据库不是明文存储,而是先加密再存储。
注册逻辑:
- 如果用户已经登录,则不能注册跳转到首页。
- 如果是GET请求,返回用户注册的html页面。
- 如果是POST请求, 先验证提交的数据是否通过,清洗数据。 接下来判断用户名和邮箱是否已经被注册, 将注册的信息存储到数据库,跳转到登录界面。
5. 项目效果展示
python manage.py runserver 端口号
5.1 测试访问前端页面
访问策略:
- 未登录人员,不论是访问index还是login和logout,全部跳转到login界面
- 已登录人员,访问login会自动跳转到index页面
- 已登录人员,不允许直接访问register页面,需先logout
- 登出后,自动跳转到login界面
测试:
- 注册页:http://localhost:9999/register/
- 邮箱发送,点击确认后显示成功注册,两秒后跳转到登录页
- 登录页:http://localhost:9999/login/
- 首页:http://localhost:9999/index/