1. 程式人生 > >使用者中心個人資訊實現的理解

使用者中心個人資訊實現的理解

  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 許可權 通過認證使用者可訪問,登陸過的

  6. 在urls.py中新增路由