zoukankan      html  css  js  c++  java
  • 写收藏的两种逻辑

    .py入mongo:

    class Collect(View):
    def __init__(self):
    self.mongo = Mongodb()
     
    def post(self,request):
    username = request.POST.get('username')
    id = request.POST.get('id')
    res = self.mongo.find_one({'username':username})

    if res:

    my_list = res['id']
    my_list.append(int(id))
    self.mongo.update_one({'username':username},{'$set':{'id':my_list}})

    else:
    db_list = [int(id)]
    self.mongo.insert({'username':username,'id':db_list})
    # return HttpResponse(res)
    return HttpResponse('收藏成功')
     

    .py入redis:

    class Collect(View):
    定义添加方法
    def post(self,request):

    #接收参数
    id = request.POST.get('id','未接到参数')
    username = request.POST.get('username','未接到参数')
    print(f'这里是用户名的id:{username}')

    cart_list = cache.get(username,'0')

    #如果不存在就创建后添加
    if cart_list == '0':
    clist = []
    clist.append(int(id))
    cache.set(username,clist)

    else:
    cart_list.append(int(id))
    cache.set(username,cart_list,360000)
    cart_list=cart_list
    # print(cart_list)

    return HttpResponse('添加成功')
     
     

    .html

     
    //加入收藏逻辑
                function colle(id){
                    username = $.cookie('username');
                    alert(username);
                    //获取url中的参数
                    function getUrlParam(id) {
                    var reg = new RegExp("(^|&)" + id + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
                    var r = window.location.search.substr(1).match(reg); //匹配目标参数
                    if (r != null) return unescape(r[2]); return null; //返回参数值
                    }
                    var id = getUrlParam('id');

                    //删除页面袁术
                
                //请求接口删除库里面的数据
                let param = new URLSearchParams();
                //将参数传递给对象
                param.append('id',id);
                param.append('username',username);
                // param.append('name',name);
                // param.append('price',price);
                
                
                    axios({
                            //指定请求地址
                            url:'http://localhost:8000/md_admin_user/colles',
                            //请求参数
                            data:param,
                            //请求类型
                            method:'post',
                            //接口返回值类型
                            responseType:'text',

                    })

                    .then(function(obj){
                
                                console.log(obj);
                                // alert(obj.data);
                                    if(obj.data == '收藏成功'){
                                        // window.location.href = 'http://localhost:8080/user_center_collect.html'
                                        
                                    }


                            
                    });
         }
  • 相关阅读:
    在nginx环境下搭建基于ssl证书的websocket服务转发,wss
    在nginx环境下搭建https服务,代理到本地web项目
    java CountDownLatch报错java.lang.IllegalMonitorStateException: null
    https本地自签名证书添加到信任证书访问
    10013: An attempt was made to access a socket in a way forbidden by its access permissions
    chrome 报错 ERR_CERT_AUTHORITY_INVALID
    SDKMAN一个基于命令行界面的SDK用户环境管理程序
    springboot放到linux启动报错:The temporary upload location [/tmp/tomcat.8524616412347407692.8111/work/Tomcat/localhost/ROOT/asset] is not valid
    netty-websocket-spring-boot-starter关闭报错 io/netty/channel/AbstractChannel$AbstractUnsafe io/netty/util/concurrent/GlobalEventExecutor
    HTML DOM addEventListener() 方法
  • 原文地址:https://www.cnblogs.com/chengdongzi/p/10708580.html
Copyright © 2011-2022 走看看