# shop
**Repository Path**: bean_jun/shop
## Basic Information
- **Project Name**: shop
- **Description**: 购物商城,基于django2.2的开发....欢迎来看看
- **Primary Language**: Python
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2021-03-18
- **Last Updated**: 2021-07-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
基于Django 2.2的一个购物商城
----
### 一、食用指南
1. 准备工作
- 安装环境
`pip install -r requirement.txt`
- 修改配置文件
```python
# 首先--需要在机器上安装好mysql、redis、nginx及fastdfs文件存储系统
# 此处省略亿行...
# 其次--配置settings的内容
# mysql我就不说了....
# EMAIL_HOST_USER EMAIL_HOST_PASSWORD 分别是163的账号和密码
# FAST_DFS_ADDRESS 需要填写你自己安装fastdfs电脑的地址及端口,这里注意utils中fdfs对应的client.conf需要使用你自己的哦
# CACHES 中redis地址也写你自己的哦
# APPID 请写你自己的支付宝开发者ID
# CELERY_ADDRESS 这个和CACHES的填写方式一致
# 在目录/apps/order/Payment/Cryptography/下存放支付宝公钥及应用私钥,名称分别设置为
# `ALIPAY_PUBLIC_KEY.txt` `APP_PRIVATE_KEY.txt`,注意格式
# -----BEGIN PUBLIC KEY-----
# 这里写秘钥或者公钥
# -----END PUBLIC KEY-----
# 最后 -- 看下一项吧,就不吓唬你了:)
```
- 迁移数据库(建议)
```python
python3 manage.py makemigrations
python3 manage.py migrate
```
- 启动项目
```python
celery -A EventDispatch.tasks worker -l INFO # 启动celery
python3 manage.py runserver # 启动django项目
```
----
### 二、项目相关
1. 项目介绍
该项目是一个B2C类型,由企业面向客户的一款电商网站。
2. 需求分析
2.1 用户模块
- 注册
- 注册时校验用户是否已经被注册
- 完成用户的注册
- 在注册时,需要给用户发送激活链接,让用户点击链接从而完成账户激活
- 登录
- 实现用户的登录及退出
- 用户中心
- 用户信息页:显示用户的信息,包括用户名、电话和收货地址,以及用户最近浏览的商品记录
- 用户地址页:显示用户的默认收货地址,页面下方同时可以增加用户的收货地址
- 用户订单页:显示用户的订单信息
- 其他
- 实现用户的邮件异步发送
- 待补充
2.2 商品模块
- 首页
- 动态指定首页轮播商品信息
- 动态指定首页活动信息
- 动态获取商品的种类信息并显示
- 动态指定首页显示的每个种类的商品
- 点击某一个商品时跳转到商品的详情页面
- 商品详情页
- 显示出某个商品的详情信息
- 页面的左下方显示出该种类商品的2个新品信息
- 商品列表页
- 显示出某一类商品的列表数据,分页显示并支持默认、价格、人气排序
- 页面的左下方显示该种商品的2个新品信息
- 通过页面搜索框查询商品信息
2.3 购物车模块
- 列表页和详情页可以将商品添加到购物车
- 用户登录后,首页、详细页、列表页显示登录用户购物车中的商品数量
- 购物车页面:对用户购物车的操作,入选择某种商品,增加、减少商品等等
2.4 订单模块
- 提交订单的页面:显示用户准备购买的商品
- 点击提交订单时完成订单的创建
- 用户中心显示订单信息
- 点击支付完成支付
2.5 项目优化
- redis 存储用户session
3. 技术栈
3.1 FastDFS
> 实现图像的存储,解决大容量存储和负载均衡问题
>
> 未完待续...
3.2 Nginx
> 转发FastDFS图像数据
>
> 未完待续...
3.3 Html、Css、JavaScript
> 前端的页面--后面打算重构不使用黑马的那个前端代码
>
> 写jQuery的时候看的我很眼花啊...
>
> 未完待续...
3.4 celery
> 目前就使用它做了用户的邮件的异步发送
>
> 未完待续...
3.5 MySQL
> 项目中的大部分数据存储的位置
>
> 未完待续...
3.6 Redis
> 存储session
>
> 存储用户浏览记录及购物车历史
>
> 未完待续...
3.7 django 2.2
> 本次项目的web框架
>
> 未完待续...
4. 施工进度
```markdown
用户模块
注册
注册时校验用户是否已经被注册 √
完成用户的注册 √
在注册时,需要给用户发送激活链接,让用户点击链接从而完成账户激活 √
登录
实现用户的登录及退出 √
用户中心
用户信息页:显示用户的信息,包括用户名、电话和收货地址 √ 用户最近浏览的商品记录 √
用户地址页:显示用户的默认收货地址,页面下方同时可以增加用户的收货地址 √
用户订单页:显示用户的订单信息 √
其他
实现用户的邮件异步发送 √
商品模块
首页
动态指定首页轮播商品信息 √
动态指定首页活动信息 √
动态获取商品的种类信息并显示 √
动态指定首页显示的每个种类的商品 √
点击某一个商品时跳转到商品的详情页面 √
商品详情页
显示出某个商品的详情信息 √
页面的左下方显示出该种类商品的2个新品信息 √
商品列表页
显示出某一类商品的列表数据,分页显示并支持默认、价格、人气排序 √
页面的左下方显示该种商品的2个新品信息 √
通过页面搜索框查询商品信息 √
购物车模块
列表页和详情页可以将商品添加到购物车 √
用户登录后,首页、详细页、列表页显示登录用户购物车中的商品数量 √
购物车页面:对用户购物车的操作,入选择某种商品,增加、减少商品等等 √
订单模块
提交订单的页面:显示用户准备购买的商品 √
点击提交订单时完成订单的创建 √
用户中心显示订单信息 √
点击支付完成支付 √
项目优化
redis 存储用户session √
```
----
### 三、下一步(比较笼统)
1. 重构前端页面
2. 调整表单验证
3. 优化网站数据库
4. ....
----
源B站黑马课程学习后重写
内容些许不同,建议发issue提出问题
Bean.