python-django框架-电商项目-商品模块开发_20191124
用户浏览记录的添加
- 什么时候添加历史浏览记录?
- 在商品详情的视图里面添加浏览记录,
- 之前使用的list来存储浏览记录,
- 注意:如果good_id之前已经浏览过了,那就要移除,conn.lrem(history_key, 0, goods_id),0代表移除所有,
- 然后再在左侧加入, conn.lpush(history_key, goods_id),
- 只保存5条,conn.ltrim(history_key, 0, 4),只保留这个区间内的元素,
商品详情信息的获取和显示:
获取同一个spu的其他规格的商品:
商品列表页,
- 这个列表页是先点击一个种类,然后进入这个种类的列表页面,
- 所以要先验证种类的信息,把种类的id传过来,type_id
- 还需要一个页码,这是第二个参数,
- 以那种方式排序,这是第三个参数,
- 页面的类,django还需要好好的研究一下,
- from django.core.paginator import Paginator
商品的全文搜索功能:
- 如果要你自己做,你要怎么实现???
- 搜索关键字草莓,我们可以在商品里面进行模糊查询,名字或者简介包含草莓都查出来,
- 但是一般不这么用, 因为like查询效率是很低的,比如百度的搜索,
- 这就涉及到一个搜索引擎的作用,它可以根据表里面的某些字段,进行关键词的分析,搜索引擎可以对一句话进行分词,比如很好吃的草莓,可以分成很,好吃,草莓,这样分词之后会先查询结果,建立了关键字和表数据的关系,
- 这样就很快的查出来了,
- 还有一个全文检索的框架
- 这个框架可以使用搜索引擎,
- 所以流程是:
- 用户通过全文检索框架,然后全文检索框架去使用搜索引擎来搜索,
- 搜索引擎有很多种
- 我们使用haystack,这是一个全文检索框架,
- 它支持始终全文搜索的引擎,whoosh,solr,ES(这是java的)
- whoosh这是一个纯python编写的,虽然性能比不上es,但是对于小型的站点,whoosh足够使用了,
- 配合haystack全文检索框架,使用whoosh引擎,来帮助我们做搜索,
python-django框架-电商项目-商品模块开发_20191124的更多相关文章
- python-django框架-电商项目-订单模块开发_20191125
python-django框架-电商项目-订单模块开发 提交订单页面: 在购物车中点击提交订单,就应该到达提交订单页面了, 显示: 1,收获地址, 2,支付方式 3,用户购买的商品信息,数量,小计, ...
- python-django框架-电商项目-购物车模块开发_20191125
python-django框架-电商项目-购物车模块开发 商品详情页js代码: 在商品详情页,有加入购物车按钮, 点击加减号可以增加减少,手动输入也可以, 点击加入购物车,就要加过去, 先实现加减的操 ...
- python-django框架-电商项目-用户模块开发_20191117
实现注册的基本逻辑: 1,注册页面 注意:注册页面需要静态文件的支持,另外注册页面是基础基类的, 1,url,路由系统, 2,views,视图系统,还是使用类视图,里面有很多的函数, 2,views. ...
- Python Django(WEB电商项目构建)
(坚持每一天,就是成功) Python Django Web框架,Django是一个开放源代码的Web应用框架,由Python写成.采用了MTV的框架模式,即模型M,模板T和视图V组成. 安装Pyth ...
- python-django框架-电商项目-项目部署_20191127
python-django框架-电商项目-项目部署: uwsgi作为web服务器: 在pycharm中启动项目:使用python manage.py runserver 这个runserver是dja ...
- python-django框架-电商项目-首页开发_20191122
python-django框架-电商项目-首页开发 业务背景: 用户浏览网站一定是先到首页, 没有登陆的话首页内容完全一样,而且是不经常变化的, 一段时间内,有100用户访问,就要有几个用户就要查询多 ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_2_04微服务下电商项目基础模块设计
笔记 4.微服务下电商项目基础模块设计 简介:微服务下电商项目基础模块设计 分离几个模块,课程围绕这个基础项目进行学习 小而精的方式学习微服务 1.用户服务 ...
- 电商项目-商品表(spu)、规格表(sku)设计
之前在工作中,需要实现商品规格功能,做了很长一段时间,现在回过头来整理下设计思路. sku,spu概念: SPU = Standard Product Unit (标准化产品单元),SPU是商品信息聚 ...
- 常见电商项目的数据库表设计(MySQL版)
转自:https://cloud.tencent.com/developer/article/1164332 简介: 目的: 电商常用功能模块的数据库设计 常见问题的数据库解决方案 环境: MySQL ...
随机推荐
- 视频课程 | Kubernetes的兴起
视频课程 | Kubernetes的兴起 原创: 京小云 京东云开发者社区 4月3日 京东云开发者社区在3月底于北京举行了以"Cloud Native时代的应用之路与开源创新"为 ...
- Java学习十四
学习内容: 1.Junit 2.maven安装配置环境 一.Junit实例演示步骤 1.引入jar包 junit包需要引入hamcrest-core包,否则会报错 2.测试如下代码 package c ...
- 自动生成返回Json数据的toString()方法
平时书写实体类方法的时候,想要获取的值直接返回Json字符串,以便使用,可以直接在Eclipse里面生成. 实现步骤: 1.快捷键Alt+S 2.选择Edit 3.添加字段,名称随意(我的为JsonS ...
- JZOJ-TG817-A-solution
T1 考虑是否有一种排序方法使得最优解都相邻,这种排序方法就是按照过一个点x的斜率为(P/Q)的直线的截距 排序之后考虑临项即可,O(N) T2 exit
- OpenMP笔记(六)
OpenMP有三种常见的加锁操作: critical是OpenMP的指令,它规定其后的代码为临界块,任何时候只允许一个线程访问: omp_set_lock是OpenMP的库函数,要跟omp_unset ...
- Android :TextView使用SpannableString设置复合文本
TextView通常用来显示普通文本,但是有时候需要对其中某些文本进行样式.事件方面的设置.Android系统通过SpannableString类来对指定文本进行相关处理,具体有以下功能: 1.Bac ...
- shift+alt 可对notepadplusplus 打开的文档进行列操作
shift+alt 可对notepadplusplus 打开的文档进行列操作
- 一个支持种子、磁力、迅雷下载和磁力搜索的APP源代码
磁力搜索网站2020/01/12更新 https://www.cnblogs.com/cilisousuo/p/12099547.html 一个支持种子.磁力.迅雷下载和磁力搜索的APP源代码 Lic ...
- javascript中的location的用法
javascript中的location.href有很多种用法,主要如下. self.location.href="/url" 当前页面打开URL页面 location.href= ...
- atomic一定线程安全吗
atomic只是保证了操作的原子性,原子操作即一个操作不可再分. atomic只是对读写操作进行了加锁,保证了多线程开发时一个读写操作完成之后才能进行下一个读写操作 atomic和线程安全没有太大的关 ...