广告小程序后端开发(11.个人中心:获取用户数据,用户发布的广告和店铺及图片)...

博客主要围绕个人中心功能展开,介绍了使用Python进行后端开发时,获取用户身份数据的操作,包括修改序列化类、新建获取用户信息类和添加路由;还阐述了获取用户发布的广告、店铺及图片的方法,如新建相关类和配置路由。

1.个人中心:获取用户身份数据

1.apps/users/adminx.py中对UserProfile的序列化类进行修改为:

class UserProfileModelSerializer(serializers.ModelSerializer):
    class Meta:
        model = UserProfile
        fields=['nickName','avatarUrl','jifen','yongjin','fensi_num']

2.apps/users/views.py中新建获取用户信息类GetUserInfo:

class GetUserInfo(APIView):
    """获取用户信息"""
    renderer_classes = [JSONRenderer]  # 渲染器

    def get(self,request):
        token=request.GET.get('token')
        user=UserProfile.objects.filter(token=token).first()
        re=UserProfileModelSerializer(user)
        return Response(re.data)

3.在apps/users/urls.py中添加路由:

from django.urls import path
from .views import LoginView,GetUserInfo

urlpatterns = [
    path('login/',LoginView.as_view()),
    path('getuserinfo/',GetUserInfo.as_view())
]

 2.个人中心:获取用户发布的广告和店铺及图片

1.在apps/ad/views.py中新建获取用户发布的广告和店铺及图片的类GetUserGoods:

class GetUserGoods(APIView):
    """获取用户发布的广告或店铺,以及每个广告或店铺的第一张图片"""
    renderer_classes = [JSONRenderer]  # 渲染器

    def get(self, request):
        token = request.GET.get('token')
        user = UserProfile.objects.filter(token=token).first()
        if user:
            re_list=Good.objects.filter(user=user).order_by('-add_time')
            re = GoodModelSerializer(re_list, many=True)
            image_list = []
            img = {}
            for item1 in re_list:
                first_img = Images.objects.filter(good=item1).first()
                if first_img:
                    img['id'] = item1.id
                    img['image'] = HOST + str(first_img.image)
                    image_list.append(img)
                    img = {}  # 没有这一句,最后图片列表中所有元素都会是最后一次对img的赋值内容
            return Response(data=({'good': re.data, 'image_list': image_list}))
        else:
            return HttpResponse('无此用户')

 

2.在apps/ad/urls.py中配置路由:

from django.urls import path
from .views import GetCategory,CreateAdOrShop,UpLoadImg,GetPubGoods,GetGoodDesc,GetUserGoods

urlpatterns = [
    path('getcategory/',GetCategory.as_view()),
    path('createadorshop/',CreateAdOrShop.as_view()),
    path('uploadimg/',UpLoadImg.as_view()),
    path('getpubgoods/',GetPubGoods.as_view()),
    path('getgooddesc/',GetGoodDesc.as_view()),
    path('getusergoods/',GetUserGoods.as_view()),
]

 

转载于:https://www.cnblogs.com/xuepangzi/p/10951339.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值