用戶中心個人信息
阿新 • • 發佈:2018-07-31
需要 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 | 是 | 手機號 |
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
註意:訪問視圖必須要求用戶已通過認證(即登錄之後)
用戶中心個人信息