Django 是 Python 生态中最成熟、最强大的全栈 Web 框架
遵循「电池已内置」(Batteries Included)理念 , 内置 ORM、Admin 后台、用户认证、表单验证等全套功能 , 适合快速开发从个人项目到企业级应用的各类 Web 系统。
本教程从环境搭建到完整项目实战,带你零基础掌握 Django 核心用法。
- Python 3.8+(Django 4.x 及以上版本推荐,兼容更好)
- pip(Python 包管理工具,默认随 Python 安装)
- 操作系统:Windows/macOS/Linux 均可(本教程以 macOS/Linux 为例,Windows 仅命令行略有差异)
打开终端/命令提示符,执行以下命令安装最新稳定版 Django:
可选:用虚拟环境隔离项目依赖(推荐)
在开始写代码前,先理解 Django 的核心设计理念和架构:
Django 采用 MTV 模式(对应传统 MVC 架构),职责划分清晰:
- 项目(Project):一个完整的 Django 应用程序,包含全局配置、路由总入口、数据库配置等。
- 应用(App):项目的功能模块(如用户模块、商品模块),一个项目可包含多个 App,便于代码解耦。
- URLconf:路由配置,映射 URL 地址到对应的视图函数。
- ORM:对象关系映射,用 Python 类操作数据库,无需写原生 SQL。
- Admin:自动生成的后台管理界面,快速管理数据库数据。
- Form:表单验证,处理前端提交的数据,自动校验合法性。
执行以下命令创建名为 的 Django 项目:
执行后会生成如下目录结构:
进入项目根目录,创建名为 的应用(后续以博客功能为例):
生成的 目录结构:
打开 ,在 中添加 应用(Django 仅加载注册的应用):
执行以下命令启动 Django 内置的开发服务器:
终端输出如下信息表示启动成功:
打开浏览器访问 ,看到 Django 默认欢迎页面,说明环境搭建成功。
打开 ,定义博客文章(Article)模型,对应数据库中的 表:
Django 通过「迁移文件」管理数据库结构,执行以下命令将模型同步到数据库:
说明:Django 默认使用 SQLite 数据库(无需额外配置),适合开发阶段;生产环境可替换为 MySQL/PostgreSQL(后续会讲)。
Django 内置的 Admin 后台可快速管理数据库数据,无需手动写增删改查页面。
4.3.1 注册模型到 Admin
打开 ,注册 Article 模型:
4.3.2 创建超级用户(Admin 登录账号)
执行以下命令,按提示输入用户名、邮箱、密码:
示例:
4.3.3 访问 Admin 后台
重启开发服务器,访问 ,输入超级用户账号密码登录。
登录后可看到「Articles」选项,点击即可添加、编辑、删除博客文章——这就是 Django 「电池已内置」的体现,几行代码实现完整的后台管理功能。
视图函数负责处理业务逻辑,接收请求并返回响应。
4.4.1 基础视图:展示所有文章
打开 ,编写视图函数:
路由负责映射 URL 到视图函数,分为「项目总路由」和「应用子路由」(推荐解耦)。
4.5.1 应用子路由
在 目录下创建 文件,编写应用内路由:
4.5.2 项目总路由
打开 ,将应用路由挂载到总路由:
模板负责页面展示,使用 Django 模板语法将视图传递的数据渲染为 HTML。
4.6.1 创建模板目录
按以下结构创建模板目录(Django 默认读取 目录下的模板):
4.6.2 文章列表模板(article_list.html)
4.6.3 文章详情模板(article_detail.html)
- 先通过 Admin 后台()添加几篇测试文章;
- 访问 ,可看到文章列表;
- 点击文章标题,进入详情页查看完整内容。
至此,一个简易的博客系统已完成,包含「后台管理+前台展示」核心功能。
Django 需配置静态文件目录,才能加载 CSS、JS、图片等资源。
5.1.1 创建静态文件目录
在 目录下创建 目录,用于存放该应用的静态文件:
5.1.2 配置静态文件路径
打开 ,确认以下配置(默认已开启):
5.1.3 在模板中引用静态文件
修改 ,引入自定义 CSS:
5.2.1 定义评论模型
打开 ,新增 Comment 模型:
执行数据库迁移:
5.2.2 定义评论表单
在 目录下创建 ,编写表单验证:
5.2.3 修改视图:处理评论提交
更新 的 视图,添加表单处理逻辑:
5.2.4 修改详情模板:添加评论表单和评论列表
更新 :
Django 内置完整的用户认证系统,无需手动实现登录/注册:
- 登录页:(Admin 自带);
- 若需自定义登录页,可使用 模块的 / 函数;
- 视图中通过 判断用户是否登录, 返回布尔值。
开发完成后,需调整配置适配生产环境:
- 安装 MySQL 驱动:;
- 修改 的数据库配置:
- 小型应用:Gunicorn + Nginx;
- 大型应用:Docker + Kubernetes 或云服务(阿里云 ECS、腾讯云轻量应用服务器)。
- 报错:CSRF token missing or incorrect
原因:表单未加 ;
解决:在 POST 表单中添加 标签。
- 报错:DoesNotExist: Article matching query does not exist
原因:访问了不存在的文章 ID;
解决:使用 替代 :
- 静态文件加载失败
原因:未配置 或未加载 ;
解决:确认 配置,模板开头添加 。
- Django 官方文档:docs.djangoproject.com/(最权威,建议优先看)…
- Django 官方教程:docs.djangoproject.com/en/stable/i…
- 类视图(Class-Based Views):替代函数视图,复用性更高;
- Django REST Framework:开发 RESTful API,适配前后端分离;
- 中间件(Middleware):处理全局请求/响应(如日志、权限验证);
- 缓存与性能优化:使用 Redis 缓存高频访问数据;
- Celery 异步任务:处理耗时任务(如邮件发送、数据导出)。
- 核心流程:Django 开发遵循「定义模型→数据库迁移→编写视图→配置路由→编写模板」的固定流程,MTV 架构让代码职责清晰;
- 核心优势:内置 Admin 后台、ORM、表单验证等功能,无需重复造轮子,开发效率极高;
- 学习路径:先掌握基础的「模型-视图-模板」,再逐步扩展表单、用户认证、静态文件,最后学习生产环境部署和性能优化。
Django 的生态足够支撑从个人博客到企业级电商平台的所有开发需求,掌握核心用法后,可结合实际项目持续进阶。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/232382.html