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的更多相关文章

  1. python-django框架-电商项目-订单模块开发_20191125

    python-django框架-电商项目-订单模块开发 提交订单页面: 在购物车中点击提交订单,就应该到达提交订单页面了, 显示: 1,收获地址, 2,支付方式 3,用户购买的商品信息,数量,小计, ...

  2. python-django框架-电商项目-用户模块开发_20191117

    实现注册的基本逻辑: 1,注册页面 注意:注册页面需要静态文件的支持,另外注册页面是基础基类的, 1,url,路由系统, 2,views,视图系统,还是使用类视图,里面有很多的函数, 2,views. ...

  3. python-django框架-电商项目-商品模块开发_20191124

    用户浏览记录的添加 什么时候添加历史浏览记录? 在商品详情的视图里面添加浏览记录, 之前使用的list来存储浏览记录, 注意:如果good_id之前已经浏览过了,那就要移除,conn.lrem(his ...

  4. Python Django(WEB电商项目构建)

    (坚持每一天,就是成功) Python Django Web框架,Django是一个开放源代码的Web应用框架,由Python写成.采用了MTV的框架模式,即模型M,模板T和视图V组成. 安装Pyth ...

  5. python-django框架-电商项目-项目部署_20191127

    python-django框架-电商项目-项目部署: uwsgi作为web服务器: 在pycharm中启动项目:使用python manage.py runserver 这个runserver是dja ...

  6. python-django框架-电商项目-首页开发_20191122

    python-django框架-电商项目-首页开发 业务背景: 用户浏览网站一定是先到首页, 没有登陆的话首页内容完全一样,而且是不经常变化的, 一段时间内,有100用户访问,就要有几个用户就要查询多 ...

  7. Java开源生鲜电商平台-购物车模块的设计与架构(源码可下载)

    ava开源生鲜电商平台-购物车模块的设计与架构(源码可下载) 说明:任何一个电商无论是B2C还是B2B都有一个购物车模块,其中最重要的原因就是客户需要的东西放在一起,形成一个购物清单,确认是否有问题, ...

  8. 小D课堂 - 新版本微服务springcloud+Docker教程_2_04微服务下电商项目基础模块设计

    笔记 4.微服务下电商项目基础模块设计     简介:微服务下电商项目基础模块设计 分离几个模块,课程围绕这个基础项目进行学习             小而精的方式学习微服务 1.用户服务       ...

  9. 常见电商项目的数据库表设计(MySQL版)

    转自:https://cloud.tencent.com/developer/article/1164332 简介: 目的: 电商常用功能模块的数据库设计 常见问题的数据库解决方案 环境: MySQL ...

随机推荐

  1. == 与 equals区别(HashCode方法)

    1:==分析 1.2:基本类型比较 判断基本类型的数值是不是相等 1.3:对象类型比较 判断两个引用是不是指向同一个对象,即内存地址是不是相等. 2:equals分析 来判断对象内容是不是相等,一般有 ...

  2. 磁盘报No space left on device,但是 df -h 查看磁盘空间没满

    df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/dev01-root 75G 58G 14G 82% / udev 2.0G ...

  3. Vue中Js动画 与Velocity.js 多组件多元素 列表过渡

    Vue提供我们很多js动画钩子 写在tansition标签内部 入场动画 @before-enter="" 处理函数收到一个参数(e l) el为这个元素 @enter=" ...

  4. 解决Maven项目报错Perhaps you are running on a JRE rather than a JDK?

    问题描述: 在创建SpringMVC项目运行构建项目的时候,发现构建失败.报错信息为Maven-No compiler is provided in this environment. Perhaps ...

  5. 挑战目标跟踪算法极限,SiamRPN系列算法解读

    商汤科技智能视频团队首次开源其目标跟踪研究平台 PySOT.PySOT 包含了商汤科技 SiamRPN 系列算法,以及刚被 CVPR2019 收录为 Oral 的 SiamRPN++.此篇文章将解读目 ...

  6. java android环境变量配置

    JAVA_HOME   用于jdk配置D:\Program Files\Java\jdk1.8.0_25 path %JAVA_HOME%\bin;;%JAVA_HOME%\jre\bin;;D:\P ...

  7. Anaconda 添加清华源与恢复默认源

    1.添加清华源 查看清华大学官方镜像源文档:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ 本文基于Windows平台,首先用命令: conda ...

  8. Express+MySQL实现图片上传到服务器并把路径保存到数据库中

    demo准备:mysql5.7.20 express4.0 处理图片文件的中间件Multer 先搭建服务器并展示html页面 const express = require("express ...

  9. u-boot中filesize环境变量【转载】

    转载地址:https://blog.csdn.net/fzs333/article/details/48518559 U-Boot中的环境命令可以使用$(filesize)来确定刚下载(传输)得到的文 ...

  10. 等和的分隔子集(dp)

    晓萌希望将 1 到 N 的连续整数组成的集合划分成两个子集合,且保证每个集合的数字和是相等. 例如,对于 N = 3,对应的集合 1, 2, 3 能被划分成3和1,2两个子集合. 这两个子集合中元素分 ...