查询用户基本信息
1. 接口设计和定义
1.请求方式
| 选项 | 方案 |
|---|---|
| 请求方法 | GET |
| 请求地址 | /info/ |
2.请求参数
无
3.响应结果:JSON
| 字段 | 说明 |
|---|---|
| code | 状态码 |
| errmsg | 错误信息 |
2. 用户模型补充email_active字段
由于在渲染用户基本信息时,需要渲染用户邮箱验证的状态,所以需要给用户模型补充email_active字段
补充完字段后,需要进行迁移。
python manage.py makemigrations python manage.py migrate
class User(AbstractUser):
"""自定义用户模型类"""
mobile = models.CharField(max_length=11, unique=True, verbose_name='手机号')
email_active = models.BooleanField(default=False, verbose_name='邮箱验证状态')
class Meta:
db_table = 'tb_users'
verbose_name = '用户'
verbose_name_plural = verbose_name
def __str__(self):
return self.username
3. 查询用户基本信息
from utils.views import LoginRequiredJSONMixin
class UserInfoView(LoginRequiredJSONMixin, View):
"""用户中心"""
def get(self, request):
"""提供个人信息界面"""
# 获取界面需要的数据,进行拼接
info_data = {
'username': request.user.username,
'mobile': request.user.mobile,
'email': request.user.email,
'email_active': request.user.email_active
}
# 返回响应
return JsonResponse({'code':0,
'errmsg':'ok',
'info_data':info_data})