• 用户中心个人信息实现的理解


    1. 前端访问个人中心页时向后端请求个人信息(id,username,mobile,email,email_active)
    2. 需要在django自带的用户模型类上增加邮箱激活状态email_active

      class User(AbstractUser):
          """
          用户信息
          """
          mobile = models.CharField(max_length=11, unique=True, verbose_name="手机号")
          email_active = models.BooleanField(default=False, verbose_name='邮箱验证状态')
    3. 进行数据库迁移

      python manage.py makemigrations
      python manage.py migrate
    4. 在users/serializers.py中添加序列化器,用于将模型对象序列化后返回给前端

      class UserDetailSerializer(serializers.ModelSerializer):
          """
          用户详细信息序列化器
          """
          class Meta:
              model = User
              fields = ('id', 'username', 'mobile', 'email', 'email_active')
    5. 在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

      IsAuthenticated 权限 通过认证用户可访问,登陆过的。重写get_object因为默认从url命名参数中获取pk查询对象

    6. 在urls.py中添加路由
  • 相关阅读:
    Centos7安装lnmp环境
    超酷播放器使用弹幕
    Thinkphp通过phpqrcode实现网址验证码
    特征选择
    决策树
    数据库与数据仓库的区别实际讲的是OLTP与OLAP的区别
    ETL 的一些概念
    ETL讲解
    均值、方差、协方差、协方差矩阵、特征值、特征向量
    浅谈梯度下降法
  • 原文地址:https://www.cnblogs.com/whigym/p/10009249.html
Copyright © 2020-2023  润新知