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

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/models.py中的Good类中的add_time字段:

class Good(models.Model):
    """广告或店铺"""
    title=models.CharField(max_length=15,null=True,blank=True,verbose_name='标题',help_text='最多15字')
    desc = models.TextField(default='', max_length=400, verbose_name='描述',help_text='最多400字')
    address = models.CharField(max_length=200, default="", verbose_name="详细地址")
    mobile = models.CharField(max_length=11, default="", verbose_name="电话")
    pv = models.IntegerField(default=0, verbose_name='浏览量')
    category = models.ForeignKey(Category, verbose_name="分类", on_delete=models.CASCADE)
    area = models.ForeignKey(Area, null=True, blank=True, verbose_name="地区", on_delete=models.CASCADE)
    stage = models.IntegerField(default=1, choices=((1, '待审核'),(2, '已发布')), verbose_name="阶段")
    user = models.ForeignKey(UserProfile, verbose_name="发布者", on_delete=models.CASCADE)
    type = models.IntegerField(default=1, choices=((1, '广告'), (2, '店铺')), verbose_name="类型")
    image = models.ImageField(max_length=200,default='smallapp/1.png', upload_to='smallapp/',verbose_name='小程序码')
    last_visit_time=models.DateTimeField(default=datetime.now, verbose_name='最后浏览时间')
    add_time = models.DateField(default=datetime.now, verbose_name='添加时间')

    class Meta:
        verbose_name = "发布广告或店铺"
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.title

    def image_url(self):
        return mark_safe('<img src="/media/{0}" class="field_img">'.format(self.image))

    image_url.short_description = '小程序码'

执行数据更新命令:

python manage.py makemigrations
python manage.py migrate

猜你喜欢

转载自www.cnblogs.com/xuepangzi/p/10903607.html