- 简介
B2C(Business-to-Customer), 企业对集体的一种商业模式,简称"商对客". 商对客是电子商务的一种模式,这种电子商务个别以网络零售业为主,次要借助于互联网发展在线销售流动。 B2C即企业通过互联网为消费者提供一个新型的购物环境——网上商店,消费者通过网络在网上购物、网上支付等消费行为。
为消费者提供一个新型的购物环境:
从0开始,立项、构建、开发到部署, 搭建一个天天生鲜商场
- 技术栈
- 语言:Python3.* (Django)
- 数据库: MySql、 redis
- 工作队列(异步解决): celery(django-celery)
- 分布式文件存储: FastDFS
- 搜索引擎(商品检索): haystack(django-haystack)、whoosh、二次开发
- web服务器配置: Nginx+ uwsgi
- 开发环境: PyCharm、Linux、vim
- 技术架构
3.1 开发架构
采纳BS构造, 即Browser/Server(浏览器/服务器)构造,构建一个web的网站商城零碎, 其架构逻辑:
3.2 部署架构
Nginx+uwsgi
在java网络编程中,次要分为数据拜访层,表示层,业务逻辑层,以及实体层。这里就简略介绍一下各个分层之间的关系。各局部的关系图如下:
这里写图片形容
二、python的Django框架
Python下有许多款不同的 Web 框架。Django是一个凋谢源代码的Web利用框架,由Python写成。Django采纳了MVC的软件设计模式,即模型M,视图V和控制器C。
三、MVC模型是什么?
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计榜样,用一种业务逻辑、数据、界面显示拆散的办法组织代码,将业务逻辑汇集到一个部件外面,在改良和个性化定制界面及用户交互的同时,不须要从新编写业务逻辑。MVC被独特的倒退起来用于映射传统的输出、解决和输入性能在一个逻辑的图形化用户界面的构造中。
四、创立Django我的项目
留神:目前Django 1.6.x以上版本曾经齐全兼容Python 3.x。
python的装置这里就不具体介绍了。本博客只介绍Django框架的利用。本博主介绍的是Window零碎下的装置。
1、装置Django框架
1.1手动装置
下载 Django 压缩包,解压并和Python装置目录放在同一个根目录,进入 Django 目录,执行python setup.py install,而后开始装置,Django将要被装置到Python的Lib下site-packages。这是手动装置。
1.2主动装置(pip装置)
查看python外面是否有”pip”
找到你的python的装置门路Python36-32Scripts下是否有红色方框里的文件:
这里写图片形容
1.2.1如果没有装置pip
本博主在装置好python之后,在文件夹的scripts文件夹下没有任何对于pip的文件所以首先配置环境变量,之后装置pipDjango 这个Web框架学习过的人无不通晓智汇返佣https://www.kaifx.cn/broker/t...
Django是一个凋谢源代码的Web利用框架,由Python写成,采纳了MT'V的框架模式.即Model,View,Template组成.许多胜利的网站和APP都基于Django.说到底,其实Django外部就是对 Socket 连贯的弱小封装.
Django.jpg
二:Django配置和创立
创立
在这里咱们不必命令,用PyCharm简略的创立一个Django程序
1 . 创立Django
关上PyCharm - > File ->NewProject 进行创立
创立我的项目.png
运行Django程序 浏览器拜访127.0.0.1:8000/ 示意连贯胜利了!
- 主体模块
次要分为四个大模块:
- 用户模块、
- 商品相干模块、
- 购物车相干模块、
- 订单相干模块、
- 数据库表
- SPU是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的汇合,该汇合形容了一个产品的个性。艰深点讲,属性值、个性雷同的商品就能够称为一个SPU。
例如,iphone4就是一个SPU,N97也是一个SPU,这个与商家无关,与色彩、样式、套餐也无关。
- SKU即库存进出计量的单位, 能够是以件、盒、托盘等为单位,在服装、鞋类商品中应用最多最广泛。
例如纺织品中一个SKU通常示意:规格、色彩、样式。
- 功能模块展现
点击查看--多图预警
- 性能与性能优化
7.1 用户注册发激活邮件时,可能发送邮件所需的工夫较长,客户端会须要期待,用户体验不好。
把耗时的工作放到后盾异步执行,此处应用celery工作队列, 其中应用redis作中间件。
7.2 redis存储用户历史浏览记录, 采纳list数据结构: History_用户id: [skuid1,skuid2,skuid3]
7.3 应用redis存储用户购物车商品信息,采纳hash数据结构: cart_userid: {'sku_id1': num, 'sku_id2': num}
7.4 采纳分布式文件系统, 把商品图片等信息存储在FastDFS零碎中, Nginx+FastDFS配合, 缩小服务器的压力。
7.5 页面动态化: 首页、商品列表页、商品详情页等用户独特的页面, 把页面动态化,以缩小对数据库的操作。当后盾数据更改时主动从新生成动态页。
7.6 页面数据缓存,把页面应用的数据寄存在缓存中,当再次应用这些数据时,先从缓存中获取,如获取不到,再去查询数据库,缩小数据库的查问次数。
7.7 订单并发