专栏首页雪胖纸的玩蛇日常广告小程序后端开发(11.个人中心:获取用户数据,用户发布的广告和店铺及图片)

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

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()
                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()),
]

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 广告小程序后端开发(14.积分商城:获取积分商品列表,获取积分商品详情)

    玩蛇的胖纸
  • django2用模板代码图标字体丢失报404 cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff

    玩蛇的胖纸
  • 广告小程序后端开发

    玩蛇的胖纸
  • RGB888 转 YCbCr444 算法的 HDL 实现

    虽说 OV5640 可以通过寄存器的设置,直接输出 YCbCr444 格式的视频流,但为了研究图像处理,以及最基本的视频格式转换,有意执行一次 RGB888转 ...

    碎碎思
  • PCI配置空间简介

    现在有个难题——CF8h、CFCh端口是32位端口,可像Turbo C之类的16位C语言编译器都不支持32位端口访问。怎么办?我们可以使用**_ _ emit ...

    Daotin
  • PCIe“拍了拍”PCI- PCI和PCIe发展历史

    自PC在1981年被IBM发明以来,主板上都有扩展槽用于扩充计算机功能。现在最常见的扩展槽是PCIe插槽,实际上在你看不见的计算机主板芯片内部,各种硬件控制模块...

    碎碎思
  • 排序----插入排序

    SuperHeroes
  • CentOS 7编译安装Apache 2.4

    Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数计算机操作系统中运行。由于其跨平台...

    小柒吃地瓜
  • 用jQuery 动画函数 animate 模拟豌豆发射

    剽悍一小兔
  • [virt][concept]虚拟化技术概论--KVM,QEMU,Libvirt

    前言: 以作者的经验来看,虚拟化的跨度比较大,很多概念比较难以理解,本来以为“硬件行为,就是这样的”好多概念,都变成虚拟的了。 作者对kernel略懂一二,结合...

    皮振伟

扫码关注云+社区

领取腾讯云代金券