dj鲜生-用户中心-历史购物

本文探讨了在用户中心实现历史浏览记录的功能,包括何时添加和获取记录,数据存储位置选择,如数据库、Redis等,并详细描述了使用Django和Redis进行数据存储和检索的过程。

用户中心,历史浏览记录,界面情况

在这里插入图片描述

思考与讨论

  • 什么时候需要添加历史浏览记录
    https://juejin.im/editor/drafts/5da33220e51d45782c23fad2

用户浏览了商品详情页的时候,把商品加入到数据库中

  • 什么时候需要获取历史浏览记录
    https://juejin.im/editor/drafts/5da3329ce51d4578200cc9c6

用户中心,个人信息页,查询

  • 历史浏览记录需要存在哪里
    https://juejin.im/editor/drafts/5da332b0e51d4577fe41b68d

存在文件中
存mysql
存redis
存cookie
存session
存mongodb

》存数据库中
存redis数据库中
因为,临时存存

  • 按照怎样的数据结构来存
    https://juejin.im/editor/drafts/5da332cfe51d4578305f3099

字串
字典
列表
存其它?

6
8
1
3
7

6 如果插入了重复的数据,先删掉旧的,再把新的往0号位插

33

histrot = 【33,6,7,3,1,8】

return history[0:5]

用户张三的购物记录
用户李四的购物记录
9

history_011: [1,3]
history_022:[3,9,8,5]

redis连接对象的获取

用到了django-redis的一个方式
https://blog.youkuaiyun.com/ifubing/article/details/102539912

获取数据并且关注排序

数据可以获取了

1,获取到的数据类型列表一类的

测试一下

https://juejin.im/post/5da341f6e51d45780e4cea22

2,传给前端的结果,要是有顺序的

https://juejin.im/post/5da348786fb9a04e1325e345

3,开始弄视图
https://juejin.im/post/5da349c7f265da5bad405eef


# /user
class UserInfoView(LoginRequiredMixin, View):
# class UserInfoView(View):
    def get(self, request):
        """个人信息显示"""

        # 获取用户个人信息
        user = request.user
        address = Address.objects.get_default_address(user)

        # 获得redis连接
        import django_redis
        conn = django_redis.get_redis_connection('default')

        # 获取数据
        history_key = "history_{}".format(user.id)
        sku_ids = conn.lrange(key,0,4)  # [b'6',b'1']

        from apps.goods.models import GoodsSKU
        goods_res = list()
        for id in sku_ids:
            goods = GoodsSKU.objects.get(id=id)
            goods_res.append(goods)
        # 获取用户的历史浏览记录
        return render(request, "user_center_info.html",
                      {'page':'user',
                       'address': address,
                       'goods_li': goods_res
                       })


for … empty…endfor

在这里插入图片描述

4,传数据给前端

https://juejin.im/post/5da34ec8e51d45782e6039eb

{% extends 'base_user_center.html' %}

{% block right_content %}
    <div class="right_content clearfix">
        <div class="info_con clearfix">
            <h3 class="common_title2">基本信息</h3>
            <ul class="user_info_list">
                <li><span>用户名:</span>{{ user.username }}</li>
                <li><span>联系方式:</span>{{ address.phone|default:'未设置电话'}}</li>
                <li><span>联系地址:</span>{{ address.addr|default:'未设置地址'}}</li>
            </ul>
        </div>

        <h3 class="common_title2">最近浏览</h3>
        <div class="has_view_list">
            <ul class="goods_type_list clearfix">
                {% for goods in goods_li %}
                <li>
{#                    <a href="../static/detail.html"><img src="../static/images/goods/goods003.jpg"></a>#}
                    <a href="../static/detail.html"><img src="{{ goods.image.url }}"></a>
{#                    <h4><a href="../static/detail.html">大兴大棚草莓</a></h4>#}
                    <h4><a href="../static/detail.html">{{ goods.name }}</a></h4>
                    <div class="operate">
{#                        <span class="prize">¥16.80</span>#}
                        <span class="prize">{{ goods.price }}</span>
{#                        <span class="unit">16.80/500g</span>#}
                        <span class="unit">{{ goods.price }}/{{ goods.unite}}</span>
                        <a href="#" class="add_goods" title="加入购物车"></a>
                    </div>
                </li>
                    {% empty %}
                    暂无历史数据
                    {% endfor %}

            </ul>
        </div>
    </div>
{% endblock right_content %}

5,测试数据

在这里插入图片描述

6,坑小结

https://juejin.im/post/5da35276f265da5b6a169f5b

逻辑小结

获取连接对象

查询历史记录,从redis中

根据历史记录,从mysql中查出商品数据行对象,存在一个容器中,此容器是排好序的商品行对象

把容器返回给前端

前端展示

计及风电并网运行的微电网及集群电动汽车综合需求侧响应的优化调度策略研究(Matlab代码实现)内容概要:本文研究了计及风电并网运行的微电网及集群电动汽车综合需求侧响应的优化调度策略,并提供了基于Matlab的代码实现。研究聚焦于在高渗透率可再能源接入背景下,如何协调微电网内部分布式电源、储能系统与大规模电动汽车充电负荷之间的互动关系,通过引入需求侧响应机制,建立多目标优化调度模型,实现系统运行成本最小化、可再能源消纳最大化以及电网负荷曲线的削峰填谷。文中详细阐述了风电出力不确定性处理、电动汽车集群充放电行为建模、电价型与激励型需求响应机制设计以及优化求解算法的应用。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究、科研人员及从事新能源、微电网、电动汽车等领域技术研发的工程师。; 使用场景及目标:①用于复现相关硕士论文研究成果,深入理解含高比例风电的微电网优化调度建模方法;②为开展电动汽车参与电网互动(V2G)、需求侧响应等课题提供仿真平台和技术参考;③适用于电力系统优化、能源互联网、综合能源系统等相关领域的教学与科研项目开发。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注模型构建逻辑与算法实现细节,同时可参考文档中提及的其他相关案例(如储能优化、负荷预测等),以拓宽研究视野并促进交叉创新。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸鱼编程pyhui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值