python之Django的技术处理

4次阅读

共计 2266 个字符,预计需要花费 6 分钟才能阅读完成。

  1. 简介

B2C(Business-to-Customer), 企业对集体的一种商业模式,简称 ” 商对客 ”. 商对客是电子商务的一种模式,这种电子商务个别以网络零售业为主,次要借助于互联网发展在线销售流动。B2C 即企业通过互联网为消费者提供一个新型的购物环境——网上商店,消费者通过网络在网上购物、网上支付等消费行为。

为消费者提供一个新型的购物环境:
从 0 开始,立项、构建、开发到部署, 搭建一个天天生鲜商场

  1. 技术栈
  • 语言:Python3.* (Django)
  • 数据库: MySql、redis
  • 工作队列(异步解决): celery(django-celery)
  • 分布式文件存储: FastDFS
  • 搜索引擎(商品检索):haystack(django-haystack)、whoosh、二次开发
  • web 服务器配置: Nginx+ uwsgi
  • 开发环境:PyCharm、Linux、vim
  1. 技术架构

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/ 示意连贯胜利了!

  1. 主体模块

次要分为四个大模块:

  • 用户模块、
  • 商品相干模块、
  • 购物车相干模块、
  • 订单相干模块、
  1. 数据库表
  • SPU 是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的汇合,该汇合形容了一个产品的个性。艰深点讲,属性值、个性雷同的商品就能够称为一个 SPU。

例如,iphone4 就是一个 SPU,N97 也是一个 SPU,这个与商家无关,与色彩、样式、套餐也无关。

  • SKU 即库存进出计量的单位,能够是以件、盒、托盘等为单位,在服装、鞋类商品中应用最多最广泛。

例如纺织品中一个 SKU 通常示意:规格、色彩、样式。

  1. 功能模块展现

点击查看 – 多图预警

  1. 性能与性能优化

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 订单并发

正文完
 0