用户中心个人信息

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 手机号
email 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

注意:访问视图必须要求用户已通过认证(即登录之后)

以上是关于用户中心个人信息的主要内容,如果未能解决你的问题,请参考以下文章

json 个人的vscode的代码片段

片段 getActivity 不起作用

用于从 cloudkit 检索单列的代码模式/片段

任何更改后的 Android Firebase 数据库活动/片段正在关闭

PHP必用代码片段

在片段中添加 Viewpager