Django + Vue电商项目第001讲:开篇|注册登录加增删改查,那不是电商

本文不含一行代码。

但它决定你能不能跟完这个项目。

建议先 点赞 + 收藏 + 关注,防止追更走丢。后面回来看一次:你的进度条走到哪了、能拿出什么成果、离公网可访问的完整站点还有多远。


一、先说句扎心的:注册登录加增删改查,那不是电商

打开百度搜「Django教程」,你能搜出几百篇。

点开前10篇,绝大多数讲的是:

  • 用户表设计
  • 注册登录
  • 增删改查
  • 文件上传

然后?然后就没了。

一个项目撑不过20篇,作者写疲了,读者学到第10篇开始不知道自己在做什么。

注册登录加增删改查,那不是电商。

那只是任何一个Web应用的起点。

真正的电商有它自己的骨头:

  • SPU和SKU怎么拆?
  • 库存超卖了怎么办?
  • 订单30分钟没付钱要不要关?
  • 支付回调被重复发了十次,怎么保证只扣一次?
  • 优惠券和满减活动能不能叠加?
  • 运费怎么按规则分摊?

这些问题答不上来,你搭的就不是电商,而是博客套了件商品外衣。

这个专栏,打算把这副骨头啃完。


二、跟完这个系列,你能得到什么?

一句话:

你将拥有一个公网可访问的真实电商站点,以及一套能复现它的全栈工程能力。

你带到简历上的,不是「熟悉Django」这种空话,而是一个:

  • 能截图
  • 能演示
  • 能跑通
  • 能点开公网链接
  • 能讲清楚库存、回调、幂等、部署细节

的完整项目。

项目代号:ShopX(星选商城)

标准B2C单商户电商平台,包含三个端:

技术栈 作用
商城前台Portal Vue 3 + Vite 逛分类、看详情、选规格、加购物车、下单、支付、看订单
商家后台Admin Element Plus 商品上下架、订单发货、优惠券发放、数据看板
后端API Backend Django 5 + DRF 前后端分离,所有业务逻辑在这里

学完这个系列,你将亲手做出:

  • 用户:手机号/邮箱注册、图形验证码、密码强度校验、JWT双Token、无感刷新、收货地址三级联动
  • 商品:三级分类树、SPU/SKU拆表、规格选项笛卡尔积生成、图集上传、商品状态机
  • 搜索:MySQL全文索引起步,后期升级Elasticsearch
  • 交易:购物车双态合并、订单号生成、库存并发扣减三方案压测对比、30分钟未支付自动关单
  • 支付:抽象层统一多渠道、支付宝沙箱接入、回调签名校验与幂等处理
  • 营销:满减/折扣/无门槛券、领取并发防超发、叠加互斥规则
  • 内容:多图评价、商家回复、评分聚合
  • 后台:商品/订单/优惠券/数据看板

三、这个专栏解决一件很具体的事

很多读者学完Python语法,看过几篇爬虫教程,会写几行Django视图。

但面对一个真实需求------「做一个能上线的商城」------依然无从下手:

  • 数据库表该建几张?商品、分类、库存、订单之间是什么关系?
  • 前端用Vue还是React?状态管理选Pinia还是Vuex?
  • 接口怎么设计才不像屎山?鉴权怎么做才安全?
  • 库存并发怎么处理才不会超卖?支付回调怎么写才不怕重复通知?
  • 怎么把它部署到公网,让简历上的链接真的能点开?

这一讲不教你任何答案。

但它会告诉你:这个系列里,每一个问题都会在它该出现的课里被讲透


四、技术选型:每一项都讲取舍,不只列优势

为什么后端用Django,而不是FastAPI?

FastAPI更现代、更快、类型提示更优雅。

但Django在「教学曲线」「生态完整度」「企业招聘面」这三个维度上仍然胜出:

  • ORM、Admin、Auth、迁移、缓存、信号、国际化开箱即用
  • 读者不用为「项目目录该长什么样」这种基础问题停下来
  • 企业JD里Django出现频次远高于FastAPI

我们会用Celery补齐异步能力,那也是Django生态原生的。

为什么前端用Vue 3 + Pinia,而不是React + Redux?

Vue 3组合式API学习曲线平缓,模板语法对零基础友好。

Pinia比Vuex简洁40%,且与TypeScript配合良好。

React + Redux生态更繁荣,但生态繁荣的另一面是「选型疲劳」------你还没开始写,就会被路由库、状态库、UI库、请求库的选择耗尽注意力。

这个系列会有一节专门讲「如果你想用React重写前端应该怎么改」,给React党留出口子。

为什么数据库用MySQL8?

国内就业市场MySQL仍是绝对主流。

InnoDB的行锁机制,是「库存并发扣减三方案对比」的核心教具。

MySQL8的全文索引,对中小规模搜索足够用,后期再上Elasticsearch。

PostgreSQL是更先进的选项,但双数据库并行讲解会让零基础读者注意力分散。所以本专栏全文按 MySQL8落地

其他技术选型一览

  • Python 3.12:最新稳定版,性能与类型注解改进显著
  • Django 5.x + DRF 3.1x:Django 5是当前主版本,DRF3.1x与之配套
  • Vue 3.4+ + Vite 5 + TypeScript + Pinia 2.x:现代前端四件套
  • Element Plus:国内后台最主流的 Vue 3 组件库
  • MySQL 8 + Redis 7:经典组合
  • Celery + Redis:异步任务与延时任务
  • Docker + Docker Compose + Nginx + Gunicorn + GitHub Actions:工程化交付阶段

锁定版本,不升级大版本。

本系列从开始起,所有版本号锁死,避免后面某个依赖升级破坏了API。


五、8个里程碑地图:每完成一格,你都能拿出去炫

里程碑 此时项目能做什么 可展示的成果物
M0骨架就绪 仓库建立、环境统一、前后端空壳同时跑起来 GitHub 仓库 + README 路线图 + 启动截图
M1 前端可导航 前端全家桶掌握,所有页面用假数据跑通 可部署到 GitHub Pages 的高保真电商 Demo
M2 前后端首次打通 用户注册登录是真接口,连上数据库 第一个全栈功能:注册 → 登录 → 拿 JWT → 显示昵称
M3 商品浏览闭环 分类、SKU、搜索、购物车、地址全部落地 逛分类 → 看详情 → 选规格 → 加购 → 填地址
M4 交易闭环 订单、库存并发、支付、优惠券,钱货两清 核心卖点成型:下单 → 沙箱支付 → 扣库存 → 用券
M5 内容与运营闭环 评价、收藏、后台管理、数据看板 后台可管商品/发货,看板有真实图表
M6 架构升级 Celery、Redis、ES、WebSocket、安全加固 接口 P95 从 800ms 降到 100ms 的对比数据
M7 上线交付 测试、Docker、CI、生产部署、监控 公网可访问的真实站点 + 简历项目描述

特别提一句:

M1是心理锚点。

你就能做出一个看起来很厉害的东西,这是熬过枯燥前期最有效的强心针。

M4是全曲线最高潮。

「下单与库存扣减:事务、行锁与超卖问题复现」是整个专栏最值得做成爆款的内容。


六、三条学习路线:按目标挑,不用全吃

| 路线 | 终点 | 适合谁 |

|---|---|---|---|

| 全栈通吃 (推荐) | 独立扛下完整前后端项目 | 想找全栈工作、做副业、接外包 |

| 只学后端 | 写出能上线、能抗并发的Django API | Python后端工程师想突破CRUD |

| 只学前端 | 用Vue3 + 真实API做出完整电商前端 | 前端工程师想接完整业务项目 |

不要跳过整个阶段------前后端如何联调,是任何一端工程师都该理解的。


七、适合谁?不适合谁?

适合你,如果你:

  • 会Python基础语法,想做一个能写进简历的项目
  • 后端CRUD写腻了,想突破库存、支付、并发、部署
  • 前端想接一个完整电商业务,而不是只写静态页
  • 想找全栈工作、做副业、接外包
  • 想拿一个公网可访问的站点去面试

不适合你,如果你:

  • 想三天速成
  • 只想复制代码,不想动手
  • 不愿意装环境、跑项目、踩报错
  • 只想看Django怎么建表,不想理解业务

八、怎么学才有效?

别光看,必须亲手敲。

每一讲末尾会标一个commit tag,比如第23讲对应 lecture/023

你可以:

  1. git clone仓库后 git checkout lecture/023,从该讲结束时的状态起步
  2. 跟着文章一行一行敲,不要复制粘贴------手敲会暴露你看不懂的细节
  3. 跑不起来就翻文末的「常见报错速查表」,90%的坑都有人提前踩过
相关推荐
烂蜻蜓1 小时前
Django入门教程(二十):博客项目实战(一)——环境搭建与第一个Django页面
django
夜雪一千1 小时前
如何使用BeautifulSoup库来提取HTML中的特定元素
python
努力努力再努力wz1 小时前
【Redis进阶系列】:从主从复制到 Sentinel,一文建立故障检测、Leader 选举与 Failover 的完整心智模型
数据库·redis·缓存
IT毕设梦工厂1 小时前
计算机毕业设计选题推荐:基于大数据的城市空气污染物浓度数据分析与可视化|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·python·信息可视化·数据挖掘·数据分析·课程设计·数据可视化
程序员阿黄1 小时前
基于 Django 与 Vue 3 的智能实验室预约系统设计与实现
后端·python·mysql·django·vue·毕设
用户298698530142 小时前
Python 如何实现 Word 与 RTF 文档互转
后端·python·api
程序猿在线码字2 小时前
深度学习(一)
python·深度学习·神经网络·机器学习
打工仔折腾 AI2 小时前
用 Shell 脚本自动部署 mysqld_exporter 并接入 Prometheus 远程抓取
人工智能·后端·python·性能优化·ai agent 实战
.Hypocritical.2 小时前
Vue CLI(vue-cli)和 Vite 超详细对比
vue