From d6588fed1d56f99180a45495a19cb27efce92071 Mon Sep 17 00:00:00 2001 From: xianfuxing Date: Sun, 22 Jul 2018 23:39:10 +0800 Subject: [PATCH] =?UTF-8?q?#=20=E5=8F=96=E6=B6=88=E8=BD=AC=E4=B9=89image?= =?UTF-8?q?=20url?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/accounts/api/serializers.py | 5 +++++ apps/accounts/models.py | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/apps/accounts/api/serializers.py b/apps/accounts/api/serializers.py index df74cef..5ccb92e 100644 --- a/apps/accounts/api/serializers.py +++ b/apps/accounts/api/serializers.py @@ -9,6 +9,7 @@ class UserDetailSerializer(serializers.ModelSerializer): name = serializers.SerializerMethodField() token = serializers.SerializerMethodField() roles = serializers.SerializerMethodField() + avatar = serializers.SerializerMethodField() class Meta: model = User @@ -31,6 +32,10 @@ class UserDetailSerializer(serializers.ModelSerializer): def get_roles(self, obj): return obj.role.split() + def get_avatar(self, obj): + return obj.get_image_url() + + class UserLoginSerializer(serializers.ModelSerializer): token = serializers.CharField(allow_blank=True, read_only=True) diff --git a/apps/accounts/models.py b/apps/accounts/models.py index 4f0ff10..d7aa616 100644 --- a/apps/accounts/models.py +++ b/apps/accounts/models.py @@ -1,4 +1,5 @@ import os +from urllib import parse from django.db import models from django.contrib.auth.models import AbstractUser from imagekit.models import ImageSpecField @@ -37,5 +38,9 @@ class User(AbstractUser): avatar_thumbnail_url = '' return avatar_thumbnail_url + def get_image_url(self): + return parse.unquote(self.avatar.url) + + def __str__(self): return self.username