栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

uniapp+Django实现点击收藏按钮变色

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

uniapp+Django实现点击收藏按钮变色

uniapp

收藏与取消收藏:就是点击这个:@click="store(item.content,item.star_style)"

通过点击的item.content传给后端判断当前点击的这条目是什么

展示星星的颜色与条目信息是在onload函数里的。






Django

接收内容,拿到当前用户信息与要收藏的条目

然后设置User和Fornum这两个模型类的多对多映射的

然后把当前的条目跟当前用户关联起来

def store(request):
    try:
        po = json.loads(request.body.decode("utf-8"))
        content = po['content']
        user = po['user']
        sign = po['sign']
        obj = Forum.objects.get(content=content)
        us = User.objects.get(username=user)
        if sign == '0':
            us.forum_set.add(obj)  # 直接把这个用户名和这个帖子关联上
        else:
            us.forum_set.remove(obj)
    except Exception:
        return JsonResponse({'code': 1000, 'error': '出错了'})
    return JsonResponse({'code': 200})

然后实现收藏后星星变黄,再次点击星星变白,消除原先的映射关系(这里把帖子错写成star_books了,只是名字问题)

就是把有关联的条目都找出来,然后换一下star_style

def show_fornum(request):
    liss = []
    po = json.loads(request.body.decode("utf-8"))
    path = po['path']
    lis = path.split('/')
    Type = lis[-1]
    username = po['user']
    informations = Forum.objects.filter(type=Type)
    # 首先找到当前用户对象
    user = User.objects.get(username=username)
    # 然后找出这个用户收藏的所有条目
    star_books = user.forum_set.all()
    for information in informations:
        # 该用户收藏的,star_style是黄色。没收藏的是白色
        if information not in star_books:
            liss.append({
                'content': information.content,
                'star_style': '../../../static/start.png'
            })
        else:
            liss.append({
                'content': information.content,
                'star_style': 'https://codefun-proj-user-res-1256085488.cos.ap-guangzhou.myqcloud.com'
                              '/621b3ba25a7e3f031094e05a/6263de904eb5590011d34380/16514938790353679819.png '
            })
    return JsonResponse({
        'informations': liss
    })

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/856221.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号