美多商场项目:前后端分离
一、 项目准备:
1 商业模式
B2B -- 企业对企业(Business to Business)
阿里巴巴、慧聪网
C2C -- 个人对个人(Customer to Customer)
淘宝、瓜子二手车
B2C -- 企业对个人(Business to Customer)
唯品会、美多商场
C2B -- 个人对企业(Customer to Business)
海尔商城
O2O -- 线上到线下(Online to Offline)
美团、饿了吗
F2C -- 工厂到个人(Factory to Customer)
戴尔
B2B2C -- 企业-企业-个人
京东商城、天猫商城
2 开发流程
项目立项(招投标、可行性分析)
需求分析(很重要)
需求分析说明书:给客户看的
需求规格说明书:给开发人员看的
产品原型(产品部)
分析:
分析网站的功能架构
开发服务器的选择
开发环境
研发人员
架构设计、数据库设计、单元测试:代码模块实现和测试(防止后门和bug)
前端
UI页面设计、前端代码编写
网站代码整合(循坏上面步骤)
集成测试(系统测试)
网站发布(不断迭代升级,进行优化)
3 需求分析
用户部分
注册
图片验证码
短信验证码
登录
第三方登录(QQ登录)
个人信息
邮箱填写与验证
浏览历史记录
地址管理
省市区地址信息加载
新增修改删除地址
设置默认地址
修改密码
商品部分
首页
商品分类
广告控制
商品列表
商品详情
商品搜索
购物车部分
购物车管理
订单部分
提交订单
我的订单
订单评价
支付部分
支付宝支付
4 项目架构
项目采用前后端分离的应用模式
前端使用Vue.js
jQuery:选择某个网页元素,然后对它进行某种操作
ajax:向后端请求数据
后端使用Django REST framework
MySQL:主从同步、双机热备
Redis:session缓存
celery:异步服务
FastDFS:分布式服务
5 创建工程
在git平台创建工程(注意:公司中通常使用gitlab私有服务器)操作流程一样
项目名称:meiduo
.gitignore:python
ssh方式:加密传送通道
rsa秘钥对(公钥 私钥)
RSA:非对称加密算法
私钥:用来加密数据
公钥:用来解密数据
生成秘钥对
ssh-keygen -t rsa(Ubuntu、win10命令)
文件保存地址(有默认值)回车
cd .ssh
cat 打开私钥(id_rsa)、公钥(id_rsa.pub)文件
将公钥添加到git中(设置)
clone项目
在命令窗口中进入项目,查看分支
git branch
创建分支
git checkout -b dev(名称)
创建前端目录
mkdir front_end_pc
将前端代码放入目录中
本地提交
git commit -m"增加了静态文件"
push
git push origin dev:dev
第一次push的时候,会提示是否使用公私钥,输入yes即可
合并
在git平台,点击 Pull Request --> 选择源分支(dev)目标分支(master)--> 添加合并请求说明 --> 创建
管理员点击合并 --> 合并分支 --> 接受Pull Request
安装live_server(跟python没有关系)
windows下安装node.js下载安装包即可
Ubuntu下安装node.js
方法一:(需要翻墙)
https://github.com/nodesource/distributions/blob/master/README.md(参考)
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
方法二:(ubuntu下编译程序)
0、下载安装文件wget https://nodejs.org/dist/v10.13.0/node-v10.13.0.tar.gz
1、解压 tar zxvf node-v10.13.0.tar.gz
2、进入目录,执行sudo ./configure
3、执行编译命令 sudo make (要求目录中必须有一个MakeFile文件)
4、执行安装 sudo make install
方法三:
sudo apt install nodejs
方法四:(推荐)
1、安装nvm (node version manager)
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
2、执行source ~/.bashrc
3、nvm install node
安装live_server
npm install -g live-server
在静态文件目录下运行live-server
live-server运行在8080端口下,可以通过127.0.0.1:8080来访问静态页面。
创建Django REST framework工程
创建虚拟环境
mkvirtualenv meiduo -p python3
pip install django==1.11.11
pip install djangorestframework
pip install pymysql
在meduo目录下创建项目meiduo_mall
django-admin startproject meiduo_mall
用pycharm打开meiduo文件夹,配置一下解释器,为刚刚虚拟环境中的python
调整工程目录
在根目录meiduo_mall下创建包docs,logs,scripts
在子meiduo_mall目录下创建包apps,libs,settings,utils
apps 存放Django的应用
libs 存放第三方的库文件
settings 存放配置文件的目录,分为开发dev和线上prod
utils 存放项目自己定义的公共函数或类等
docs 用于存放一些说明文档资料
scripts 用于存放管理脚本文件
并且在将settings.py拖到settings文件夹中改名字为dev.py
创建应用
在meiduo/meiduo_mall目录下输入:python manage.py startapp users
注册应用:rest_framework和users
users注册的路径需要注意,每次都要以meiduo_mall_.apps开头
解决:sys.path是python解释器导包的路径,如果我们能够给users所在的包添加进去那就可以了
6 项目配置
增加启动参数runserver
修改manage.py中的settings.py的文件路径
创建数据库,并且创建用户
create user meiduo identified by 'meiduo';
grant all on meiduo_mall.* to 'meiduo'@'%';
flush privileges;
配置数据库
安装 pymysql
pip install pymysql
记得在meiduo/meiduo_mall/__init__.py文件中添加
import pymysql
pymysql.install_as_MySQLdb()
如果报错:
安装django-redis,并配置
pip install django-redis
时区配置
日志配置
异常配置
Pycharm提示设置
将一级目录meiduo设置为根目录
将二级目录meiduo下的apps文件夹设置为根目录
js版本配置
js语法是在js6版本才出现的,但是pycharm默认的是5.1,需要进行修改