2 用户注册
创建用户模块应用

在apps包下创建子应用 users
python ../manage.py startapp users

注册模块应用
INSTALLED_APPS=[ ... 'apps.users' ]
需求分析
根据页面功能(从上往下,从右往右),分析那些功能需要和后端配合完成
如何确定那些功能需要和后端进行交互:
- 经验
- 关注类似网站的相似功能

113替换系统User

用户注册业务实现

RESTful设计方法
判断用户名是否存在
前端: 当用户输入用户名之后,失去焦点(光标不再跳动),发送一个axios(ajax)请求
后端:
1. 请求,接收用户名
2. 业务逻辑,根据用户名查询数据库,如果查询结果数量=0,说明没有注册;相反如果查询结果数量=1,说明已经注册
3. 相应:JOSN {code:0,count:0/1,errmsg:ok}
路由:GET
步骤:
- 接收用户名
- 根据用户名,查询数据库
- 返回相应
跨域CORS
前端和后端是两个不同的端口
前端域名:www.meiduo.site:8080
后端服务域名:www.meiduo.site:8000
https://github.com/adamchainz/django-cors-headers
CORS(Cross-origin resource sharing)
安装
- pip install django-cors-headers
- corsheaders
setting app 注册 - 'corsheaders.middleware.CorsMiddleware'
中间件 - 列出白名单
CORS_ORIGIN_WHITELIST =(
'http://127.0.0.1:8080')
CORS_ALLOW_CREDENTIALS=TRUE # 允许携带cookie
注册
前端:当用户输入, 用户名,密码,确认密码,手机号,是否同意协议,点击注册,前端会发送axios请求
后端:
- 接收请求(POST---JSON)
- 获取数据
- 验证数据
3.1 用户名,密码,确认密码,手机号,是否同意协议。
3.2 用户名是否满足规则,用户名不能重复
3.3 密码满足规则
3.4 确认密码和密码一致
3.5 手机号满足规则,手机不能重复
3.6 同意协议 - 验证数据
- 返回响应
状态保持
- 注册成功即已经成功登录
- 注册成功,单独登录
状态保持,主要是客户端cookie,服务端session
浙公网安备 33010602011771号