本项目属于网上自学项目,注重熟悉业务功能开发以及扩展技术知识面。了解前沿的技术解决方案。并新增了一些自己的设计,例如:统一异常处理,状态码枚举类、项目
html
网页模板路径汇总类,以及Cookie, Redis
键名的设计与封装等。尽量的让项目避免出现 魔法值,提高项目的可扩展性和可维护性。
美多商城属于 B2C
电商平台,商城销售自营商品给顾客。系统前台包括 商品列表、商品详情、商品搜索、购物车、订单支付、评论、用户中心 等核心业务功能,系统后台包括商品管理、运营管理、用户管理、系统设置等系统管理功能。
名称 | 说明 |
---|---|
Django | Django Web开发框架 |
Django REST framework | Django REST规范的Web框架 |
Vue | 前端 JavaScript 框架 |
MySQL | MySQL 数据库 |
Redis | Redis 缓存数据库 |
Celery | 分布式任务队列 |
FastDFS | 分布式文件存储系统 |
ElasticSearch | 全文检索框架 |
alipay | 阿里支付 |
OAuth 2.0 | 第三方授权认证 |
docker | 容器化引擎 |
环境 / 工具 | 版本 | 说明 |
---|---|---|
Python | 3.7.9 | Python 解释器 |
Django | 3.2.7 | Django 框架 |
Jinja2 | 2.10 | 模板引擎 |
PyCharm | Professional 2020.2 | Python IDE 编辑器 |
MySQL | 8.0.26 | MySQL 数据库 |
上面就是项目的初始开发环境,项目后续所需的第三方库环境在 meiduo_mall
下的 requirements.txt
文件中。可以使用如下命令全部安装。
pip install -r requirements.txt
- 首页内容广告模块 - contents
- 用户模块 - users
- 校验模块 - verifications
- 认证模块 - oauth
- 省市区三级联动模块 - areas
- 商品模块 - goods
- 购物车模块 - carts
- 订单模块 - orders
- 支付模块 - payment
- 商品管理模块 -
- 运营管理模块 -
- 用户管理模块 -
- 系统设置模块 -
- 自定义用户认证后端,实现多账户登录,基于
OAuth2.0
,实现第三方登录。 - 采用
Redis
作为消息中间件,配合Celery
完成异步发送邮件与短信验证码。 - 采用分布式文件系统
FastDFS
作为文件存储系统,存储项目静态图片。 - 采用
Haystack+Elasticsearch
实现商品的搜索。 - 采用
docker
容器化技术搭建项目环境。 - 数据库事务 + 乐观锁解决并发订单保存问题。
- 网站首页、商品详情页进行页面静态化,提升网站性能。
MySQL
主从同步,读写分离实现数据库负载均衡。
一、准备项目的 Python
虚拟环境
二、数据库环境
MySQL
Redis
三、docker 搭建项目环境
四、nginx + uwsgi 部署项目
✍ 用 Code 谱写世界,让生活更有趣。❤️
✍ 万水千山总是情,点赞再走行不行。❤️
✍ 码字不易,还望各位大侠多多支持。❤️