用户中心个人信息
Posted 程序视界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户中心个人信息相关的知识,希望对你有一定的参考价值。
前端访问个人信息页面时,需要向后端请求个人信息。
在本页面中要显示用户的Email邮箱信息,而对于邮箱信息我们要实现对于邮箱的验证功能,并在本页面中显示邮箱是否已验证,如下所示,
所以我们需要修改User模型类,增加邮箱是否验证的字段。
class User(AbstractUser):
"""
用户信息
"""
mobile = models.CharField(max_length=11, unique=True, verbose_name="手机号")
email_active = models.BooleanField(default=False, verbose_name=‘邮箱验证状态‘)
进行数据库迁移
python manage.py makemigrations
python manage.py migrate
后端接口设计:
请求方式: GET /user/
请求参数: 无
返回数据: JSON
返回值 | 类型 | 是否必须 | 说明 |
---|---|---|---|
id | int | 是 | 用户id |
username | str | 是 | 用户名 |
mobile | str | 是 | 手机号 |
str | 是 | email邮箱 | |
email_active | bool | 是 | 邮箱是否通过验证 |
在users/serializers.py中创建序列化器
class UserDetailSerializer(serializers.ModelSerializer):
"""
用户详细信息序列化器
"""
class Meta:
model = User
fields = (‘id‘, ‘username‘, ‘mobile‘, ‘email‘, ‘email_active‘)
在users/views.py 中新建视图
from rest_framework.permissions import IsAuthenticated
class UserDetailView(RetrieveAPIView):
"""
用户详情
"""
serializer_class = serializers.UserDetailSerializer
permission_classes = [IsAuthenticated]
def get_object(self):
return self.request.user
注意:访问视图必须要求用户已通过认证(即登录之后)
以上是关于用户中心个人信息的主要内容,如果未能解决你的问题,请参考以下文章