3-用户注册---用户类创建和短信验证码的功能实现
用户注册
一、用户模型类的创建
Django提供认证系统可以帮助我们实现,参考https://yiyibooks.cn/xx/Django_1.11.6/topics/auth/index.html
-
- 用户的数据模型
- 用户密码的加密与验证
- 用户的权限系统
1.在meiduo/meiduo_mall/apps中创建Django应用users,并在配置文件中注册users应用
在user目录下的mobile中写入下面代码
from django.contrib.auth.models import AbstractUser from django.db import models # Create your models here. # AbstractUser是Django的用户抽象模型类,可以直接继承 class User(AbstractUser): mobile = models.CharField(max_length=11, verbose_name='手机号') class Meta: db_table = 'tb_users' verbose_name = '用户' verbose_name_plural = verbose_name
2.由于手动设置的User模型类与Django中的认证模型类冲突,所以在配置文件dev中设置如下
# AUTH_USER_MODEL = '子应用.模型类'
AUTH_USER_MODEL = 'users.User'
3.数据库迁移(第3步一定要在第2步后执行)
python manage.py makemigrations
python manage.py migrate
二、短信发送后端API设计和分析
1.设计接口思路
业务功能:分析子业务(子功能),每个子业务设计一个API接口。
API设计过程:
- 接口的请求方式和url地址
- 前端访问接口所需传递的参数和格式
- 接口的响应数据和格式
2.注册子业务的设计
获取短信验证码
用户名是否存在
手机号是否存在
注册信息的保存
三、短信发送后端API的实现
1.获取短信验证码
2.本地域名设置
作用:不用进行DNS解析,直接就可以根据域名访问对应服务器
普通的域名访问:
域名--->DNS解析--->获取IP地址--->访问ip对应的服务器
本地的域名访问:
域名--->到本地的/etc/hosts找域名和IP的关系--->找到直接访问ip对应的服务器--->没找到,在进行DNS解析
设置方法:
静态文件服务器:127.0.0.1:8080 -> www.meiduo.site:8080
后端API服务器:127.0.0.1:8000 -> api.meiduo.site:8000
3.跨域请求和celery异步队列
跨域请求
异步队列
四、用户名和手机号的后端API实现
1.用户名功能实现
2.手机号功能实现