IT策士 10余年一线大厂经验专注 IT 思维、架构、职场进阶。我也会在其他平台持续发布最新文章助你少走弯路。为什么用 Django 做电商系列介绍与环境搭建大家好我是IT策士一名写了十几年后端的老兵。接下来 30 天我将带着大家用 Django 从零开始敲出一个功能完整的电商平台。今天是系列的第一天我们不急着写业务代码先聊聊“为什么要学这个系列”、“为什么选 Django 做电商”然后手把手把开发环境搭起来。一、为什么选择 Django 做电商很多初学者会纠结Python 的 Web 框架这么多Flask、FastAPI、Django……到底用哪个做电商这种相对复杂的项目我的观点很明确选 Django而且是非常合适的选择。原因有三开箱即用的全栈能力Django 自带 ORM、模板引擎、表单处理、认证系统、Admin 后台、中间件、缓存框架……这些东西在电商项目里几乎一个不落地要用上。Flask 需要你一个一个去拼装第三方库而 Django 让你第一天就有生产力。Admin 后台是“秘密武器”做电商项目运营人员需要管理商品、分类、订单、用户。Django Admin 可以通过极少量代码生成一套功能强大的后台管理系统这在项目初期能节省至少 30% 的开发时间。久经考验的生态与安全性Django 默认防御 SQL 注入、XSS、CSRF 等常见攻击。支付、权限、异步任务这些场景都有成熟的第三方库支持如 django-allauth、Celery、django-redis 等国内也有支付宝、微信支付的 SDK 可以快速接入。当然任何技术选型都有取舍。如果你追求极致的高并发可能会在后期引入 FastAPI 写微服务但作为电商项目的“主干”Django 完全扛得住中小型电商的流量非常适合学习与中小规模商业落地。二、系列整体规划概览整个系列计划用30 篇完成一个从前端展示到后端管理、从下单支付到部署上线的完整电商平台。下面是完整大纲大家可以提前感受一下全貌今天的目标在本地搭建好 Python 虚拟环境安装 Django 4.2创建项目骨架让开发服务器跑起来。项目代码结构会拆分成users、products、cart、orders、payment五个核心 app这一天先把它们创建好为明天正式写模型做准备。三、开发环境准备3.1 环境要求Python 3.10 及以上本系列使用 Python 3.11pip 最新版本操作系统macOS / Linux / Windows 均可命令以 macOS/Linux 为主Windows 同学请用 PowerShell 或 Git Bash差异处我会特别说明3.2 项目目录结构规划最终我们的项目结构大致如下今天先感受一下django_ecommerce/ ├── manage.py ├── django_ecommerce/# 项目配置目录│ ├── __init__.py │ ├── settings.py │ ├── urls.py │ ├── asgi.py │ └── wsgi.py ├── apps/# 存放所有业务app│ ├── users/# 用户模块│ ├── products/# 商品模块│ ├── cart/# 购物车模块│ ├── orders/# 订单模块│ └── payment/# 支付模块├── templates/# 全局模板├── static/# 全局静态文件├── media/# 用户上传文件└── requirements.txt四、开始动手搭建4.1 创建项目根目录与虚拟环境打开终端执行以下命令# 1. 创建项目根目录并进入mkdirdjango_ecommercecddjango_ecommerce# 2. 创建 Python 虚拟环境名字叫 venvpython3-mvenv venv# 3. 激活虚拟环境# macOS/Linux:sourcevenv/bin/activate# Windows:venv\Scripts\activate激活成功后终端前面会出现(venv)标识代表我们已经在虚拟环境中了。4.2 安装 Django 4.2# 升级 pip好习惯pipinstall--upgradepip# 安装指定版本的 Djangopipinstalldjango4.2安装完成后验证一下版本python-mdjango--version控制台输出如果看到类似4.2.x的字样说明安装成功。4.3 创建 Django 项目# 在当前目录下创建 Django 项目注意结尾有个点代表在当前目录生成django-admin startproject django_ecommerce.解释命令中的.表示把项目创建在当前django_ecommerce/目录下而不是再多套一层同名文件夹。这样manage.py会直接出现在项目根目录结构更清爽。此时查看目录结构ls -la或tree都可以会看到django_ecommerce/ ├── manage.py ├── django_ecommerce/ │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ ├── asgi.py │ └── wsgi.py └── venv/4.4 第一次启动开发服务器在项目根目录下运行python manage.py runserver控制台输出Watchingforfilechanges with StatReloader Performing system checks... System check identified no issues(0silenced). You have18unapplied migration(s). Your project may not work properlyuntilyou apply the migrationsforapp(s): admin, auth, contenttypes, sessions. Runpython manage.py migrateto apply them. May18,2026-10:15:32 Django version4.2, using settingsdjango_ecommerce.settingsStarting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.看到这个提示说明服务器已经跑起来了。打开浏览器访问http://127.0.0.1:8000/会看到 Django 的欢迎火箭页https://docs.djangoproject.com/en/4.2/_images/django_initial.png注意控制台中提示有 18 个未应用的迁移那是 Django 内置应用admin、auth 等需要建表。我们今天先不管它明天讲数据库设计时会一并处理。五、创建业务 App 并调整目录结构一个 Django 项目由多个app应用组成app 是功能模块的基本单位。按照我们之前规划的五大模块依次创建5.1 创建 apps 目录并将所有 app 放进去为了不让项目根目录变得乱糟糟我们约定把所有业务 app 统一放在apps/目录下。# 在项目根目录创建 apps 目录mkdirapps# 进入 apps 目录依次创建 5 个 appcdapps python../manage.py startappuserspython../manage.py startapp products python../manage.py startapp cart python../manage.py startapp orders python../manage.py startapp payment# 回到项目根目录cd..5.2 把 apps 目录加入 Python 路径创建完 app 后Django 还需要知道apps/users这些模块在哪。我们需要在settings.py里配置一下路径。打开django_ecommerce/settings.py在最顶部插入以下代码放在import os之后也行importosimportsys# Build paths inside the project like this: BASE_DIR / subdir.BASE_DIRPath(__file__).resolve().parent.parent# 将 apps 目录添加到 Python 搜索路径方便直接使用 users 等模块名sys.path.insert(0, os.path.join(BASE_DIR,apps))然后找到INSTALLED_APPS列表把我们刚创建的 5 个 app 注册进去INSTALLED_APPS[django.contrib.admin,django.contrib.auth,django.contrib.contenttypes,django.contrib.sessions,django.contrib.messages,django.contrib.staticfiles,# 自定义业务应用users,products,cart,orders,payment,]这样 Django 就能识别apps/users、apps/products等模块了。5.3 验证配置是否生效我们用一个最简的方式来验证让项目启动时不会因为找不到 app 而报错并且能在控制台看到 app 已被加载。再运行一次开发服务器python manage.py runserver预期控制台输出关键部分System check identified no issues(0silenced).... Starting development server at http://127.0.0.1:8000/如果没有 ImportError 之类的报错说明 app 配置正确。六、调整语言、时区等基础配置为了让项目更贴近国内开发习惯我们把语言和时区改成中文。继续编辑django_ecommerce/settings.pyLANGUAGE_CODEzh-hans# 简体中文TIME_ZONEAsia/Shanghai# 上海时区USE_I18NTrue USE_TZTrue修改后再次启动开发服务器你会发现 Admin 后台的一些提示后面会看到会变成中文。虽然现在还没有数据库但先配置好总没错。七、初识项目目录建立全局视图现在我们可以再看一次完整的项目结构树形django_ecommerce/ ├── manage.py ├── django_ecommerce/ │ ├── __init__.py │ ├── settings.py# 已修改语言、时区、sys.path、INSTALLED_APPS│ ├── urls.py │ ├── asgi.py │ └── wsgi.py ├── apps/ │ ├── users/ │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── models.py# 明天在这里写用户模型│ │ ├── tests.py │ │ └── views.py │ ├── products/ │ │ └──...(结构同上)│ ├── cart/ │ │ └──... │ ├── orders/ │ │ └──... │ └── payment/ │ └──... ├── templates/# 全局模板目录后续创建├── static/# 全局静态文件目录后续创建├── media/# 用户上传目录后续创建└── venv/# 虚拟环境不纳入版本控制看着已经有点正规军的样子了对吧今天最重要的一件事就是把这个骨架搭好后面每一天都是在这个骨架上添砖加瓦。八、生成 requirements.txt养成好习惯当天结束前把依赖导出来方便以后重建环境。pip freezerequirements.txt此时requirements.txt的内容大概是asgiref3.7.2Django4.2sqlparse0.4.4具体小版本号可能略有差异没问题。九、今日总结与下集预告今天我们完成了理解了为什么用 Django 做电商开箱即用、Admin 后台、安全与生态浏览了接下来 30篇 的完整学习路线在本地搭建了 Python 虚拟环境并安装了 Django 4.2创建了项目骨架和 users / products / cart / orders / payment 五个核心 app调整了基础配置中文、时区、apps 路径启动了开发服务器迈出了万里长征的第一步下一篇我们将进入电商项目最核心的阶段之一需求分析与数据库设计。我们会梳理出用户、商品、订单、购物车等核心实体之间的关系并开始编写第一个 Django 模型。数据库是整个项目的“地基”地基打牢了后面写功能就如鱼得水。有任何问题欢迎在评论区留言我会尽量回复。如果觉得这个系列对你有帮助别忘了点赞 收藏咱们明天见还可以去其它平台搜索「IT策士」一起升级 IT 思维