python-django框架-电商项目-购物车模块开发_20191125
python-django框架-电商项目-购物车模块开发
商品详情页js代码:
- 在商品详情页,有加入购物车按钮,
- 点击加减号可以增加减少,手动输入也可以,
- 点击加入购物车,就要加过去,
- 先实现加减的操作,这个使用js操作,
- 实现几个功能:
- 1,计算总价
- 2,增加按钮
- 3,减少按钮
- 4,输入失去焦点的校验,
购物车记录添加后台:
- 我添加购物车之后,是不刷新页面的,所以怎么办?
- 可以使用ajax,
- 传递的参数:商品id和商品数量,cart_1:{1:2,2:3}
- 这是三种前端传参的方式:
- 使用get还是post传参:
- 1,get传参数:/cart/add/?sku_id=1&count=3
- 2,post传参数:{sku_id:1,count:3}
- 3,还可以使用url传参数:url配置捕获参数,
- 我们使用ajax我们用哪种方式,如果涉及到数据的修改,包括新增,更新,删除,我们要采用post,如果只涉及到获取,我们就采用get,所以要使用post,
- #
- 我们添加购物车的视图,
- 1,注意数据的接收,
- 2,注意数据的校验
- 3,注意数据的处理,购物车的数据是放入redis存储的,
- 4,注意数据的应答,
购物车记录添加前端js,
- 我们视图已经写完了,
- 现在前端要通过ajax的post来传数据到后端,
- 发送的内容是获取商品的商品的id,商品的数量,
总结:
- 添加购物车记录要登陆
- ajax发起的请求,都在后台,在浏览器是看不到效果的,所以点击添加购物车,不能直接就是跳转到登录页了 ,因为ajax是局部刷新的,
- 所以我们做一个判断,告诉他要登陆,让他自己去登陆页面,
- 开发的时候前端开发前端的,后端开发后端的,
- 你添加购物的时候,
- 确定几个事情,
- 1,前端是否需要传数据,传什么数据,什么样的格式,
- 2,采用什么方式传,get,post
- 3,后端需要确定传给前端的的数据,数据的格式,
- 这些都是需要确定的,前后端配合,
购物车页面显示:
- 点击右上角的购物车图标之后,要调到购物车页面,
- 需要一个购物车的html页面,
- 后端需要一个视图,
- 动态增加属性?这个用法要研究一下,
购物车页面js操作:
- 全选,全不选,商品的选中和不选中
- 商品的总价和件数,需要重新计算,
- 商品的选中和不选中,需要改变全选的按钮,单个商品都选中了,全选就选中了,
购物车记录更新,后端的数目更新:
- 增加,减少,删除都是在更新数据库的记录,要和后台做交互,
- 点击+号,页面不跳转,采用ajax post请求,
- 前端需要传递传递,商品的id,商品的数量,去redis中更新,
- 后端新建一个更新的视图函数
- 做几个事情,
- 1,接收数据,
- 2,校验数据
- 3,处理数据,
- 4,返回应答,
- 和新增数据的逻辑基本差不多,核心的是数据的处理部分,
- 注意更新的时候,需要校验库存,否则会有问题,
购物车记录更新,前端的数目更新:
- 点击+号,数量的展示就要+1,并且需要往后端发请求,
- 整个的页面充满了js的操作,
购物车记录的删除,后端操作:
- 点击删除,页面不跳转,采用ajax post请求,
- 做几个事情,
- 1,接收数据,
- 2,校验数据
- 3,处理数据,
- 4,返回应答,
购物车记录的删除,前端操作:
- 点击操作,在页面删除,向后端发送请求,
总结:
- 这个页面的js非常的经典,后续学习js的时候好好体会,
python-django框架-电商项目-购物车模块开发_20191125的更多相关文章
- python-django框架-电商项目-订单模块开发_20191125
python-django框架-电商项目-订单模块开发 提交订单页面: 在购物车中点击提交订单,就应该到达提交订单页面了, 显示: 1,收获地址, 2,支付方式 3,用户购买的商品信息,数量,小计, ...
- python-django框架-电商项目-用户模块开发_20191117
实现注册的基本逻辑: 1,注册页面 注意:注册页面需要静态文件的支持,另外注册页面是基础基类的, 1,url,路由系统, 2,views,视图系统,还是使用类视图,里面有很多的函数, 2,views. ...
- python-django框架-电商项目-商品模块开发_20191124
用户浏览记录的添加 什么时候添加历史浏览记录? 在商品详情的视图里面添加浏览记录, 之前使用的list来存储浏览记录, 注意:如果good_id之前已经浏览过了,那就要移除,conn.lrem(his ...
- 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用户访问,就要有几个用户就要查询多 ...
- Java开源生鲜电商平台-购物车模块的设计与架构(源码可下载)
ava开源生鲜电商平台-购物车模块的设计与架构(源码可下载) 说明:任何一个电商无论是B2C还是B2B都有一个购物车模块,其中最重要的原因就是客户需要的东西放在一起,形成一个购物清单,确认是否有问题, ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_2_04微服务下电商项目基础模块设计
笔记 4.微服务下电商项目基础模块设计 简介:微服务下电商项目基础模块设计 分离几个模块,课程围绕这个基础项目进行学习 小而精的方式学习微服务 1.用户服务 ...
- 常见电商项目的数据库表设计(MySQL版)
转自:https://cloud.tencent.com/developer/article/1164332 简介: 目的: 电商常用功能模块的数据库设计 常见问题的数据库解决方案 环境: MySQL ...
随机推荐
- Flux转Mono next()
import java.util.LinkedHashMap; import java.util.Map; import java.util.NoSuchElementException; impor ...
- UML-活动图及其建模
1.目标:UML活动图标示法. 2.定义:一个UML活动图标示一个过程中的多个顺序活动和并行活动.这些活动有助于对业务过程.工作流.数据流和复杂算法进行建模. 3.作用:既能表示控制流又能标示数据流. ...
- Java数据的存储
在JAVA中,有六个不同的地方可以存储数据: 1. 寄存器(register).这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部.但是寄存器的数量极其有限,所以寄存器由编译器根据需求进 ...
- Linux安装已编译好的FFmpeg,基于centos7
1.访问https://johnvansickle.com/ffmpeg/ 2.下载地址:https://johnvansickle.com/ffmpeg/releases/ffmpeg-releas ...
- eclipse环境配置,字体大小,代码智能提示,JSP页面默认字符集修改
安装好JDK后,下载Java EE解压版eclipse 1.字体大小 Windows——>Preferences——>General——>Appearance——>Colors ...
- Java线程——synachronized关键字的作用(一)
在并发编程中,多线程同时并发访问的资源叫做临界资源,当多个线程同时访问对象并要求操作相同资源时,分割了原子操作就有可能出现数据的不一致或数据不完整的情况,为避免这种情况的发生,我们会采取同步机制,以确 ...
- PAT Basic 反转链表 (25) [链表]
题目 给定⼀个常数K以及⼀个单链表L,请编写程序将L中每K个结点反转.例如:给定L为1→2→3→4→5→6,K为3,则输出应该为3→2→1→6→5→4:如果K为4,则输出应该为4→3→2→1→5→6, ...
- css,js,jquery的载入方式和属性控制
本文章主要总结了css,js,jQuery在编写程序时的载入方式,与属性控制方式html和css共同组成了一个最基础的网页,js为标签样式提供动态效果 一,css的载入方式与属性控制 1.1,css引 ...
- JavaEE--分布式对象
参考:http://blog.csdn.net/smcwwh/article/details/7080997 1.客户与服务器的角色 所有分布式编程技术的基本思想都很简单:客户计算机产生一个请求,然后 ...
- 富文本编辑器Tinymce的示例和配置
Demo链接: https://download.csdn.net/download/silverbutter/10557703 有时候需要验证tinyMCE编辑器中的内容是否符合规范(不为空),就需 ...