1. 程式人生 > >用戶中心個人信息

用戶中心個人信息

需要 ram ali 數據庫遷移 spa request rest users fun

前端訪問個人信息頁面時,需要向後端請求個人信息。

在本頁面中要顯示用戶的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

註意:訪問視圖必須要求用戶已通過認證(即登錄之後)

用戶中心個人信息