2 用户注册

创建用户模块应用

image

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

注册模块应用

INSTALLED_APPS=[ ... 'apps.users' ]

需求分析

根据页面功能(从上往下,从右往右),分析那些功能需要和后端配合完成
如何确定那些功能需要和后端进行交互:

  1. 经验
  2. 关注类似网站的相似功能

image

113替换系统User

image

用户注册业务实现

image

RESTful设计方法

判断用户名是否存在
前端: 当用户输入用户名之后,失去焦点(光标不再跳动),发送一个axios(ajax)请求
后端:
1. 请求,接收用户名
2. 业务逻辑,根据用户名查询数据库,如果查询结果数量=0,说明没有注册;相反如果查询结果数量=1,说明已经注册
3. 相应:JOSN {code:0,count:0/1,errmsg:ok}
路由:GET
步骤:

  1. 接收用户名
  2. 根据用户名,查询数据库
  3. 返回相应

跨域CORS

前端和后端是两个不同的端口
前端域名:www.meiduo.site:8080
后端服务域名:www.meiduo.site:8000

https://github.com/adamchainz/django-cors-headers

CORS(Cross-origin resource sharing)
安装

  1. pip install django-cors-headers
  2. corsheaders
    setting app 注册
  3. 'corsheaders.middleware.CorsMiddleware'
    中间件
  4. 列出白名单
    CORS_ORIGIN_WHITELIST =(
    'http://127.0.0.1:8080')
    CORS_ALLOW_CREDENTIALS=TRUE # 允许携带cookie

注册

前端:当用户输入, 用户名,密码,确认密码,手机号,是否同意协议,点击注册,前端会发送axios请求

后端:

  1. 接收请求(POST---JSON)
  2. 获取数据
  3. 验证数据
    3.1 用户名,密码,确认密码,手机号,是否同意协议。
    3.2 用户名是否满足规则,用户名不能重复
    3.3 密码满足规则
    3.4 确认密码和密码一致
    3.5 手机号满足规则,手机不能重复
    3.6 同意协议
  4. 验证数据
  5. 返回响应

状态保持

  1. 注册成功即已经成功登录
  2. 注册成功,单独登录
    状态保持,主要是客户端cookie,服务端session

posted @ 2024-09-23 10:37  温酒待君归  阅读(17)  评论(0)    收藏  举报
levels of contents