作为一名刚接触 Django 的开发者,我在学习过程中整理了这份入门笔记,涵盖 Django 框架基础、环境搭建、第一个项目创建以及核心配置,希望能为同样刚入门的小伙伴提供清晰的学习思路。
一、Django 框架基础认知
在开始实际操作前,先对 Django 框架有个基础了解,能让后续学习更顺畅。
Django 遵循 MTV(模型 - 模板 - 视图)架构,这是从 MVC(模型 - 视图 - 控制器)模式演变而来,各组件功能明确:
1.1 什么是 Django
Django 是一款高级 Python Web 开源框架,发音为dʒæŋgəʊ
。它由经验丰富的开发人员构建,解决了 Web 开发中诸多常见问题,能让开发者专注于应用程序编写,无需 “重复造轮子”。近年来,随着 Python 地位的上升,Django 发展迅猛,版本更新迭代快。截至目前,最新版本是 5.2.5 LTS,官方规划未来两年将更新到 6.0 LTS 版本。
1.2 Django 的 MTV 架构
- 模型(Model):处于 MTV 模式底层,是数据存取层。负责处理与数据相关的所有事务,比如数据的存取、数据有效性验证以及数据间关系处理等,还能通过 ORM(对象关系映射)建立业务对象与数据库的映射。
- 模板(Template):位于 MTV 模式顶层,是表现层。负责处理与表现相关的操作,简单来说就是决定数据如何在页面或其他类型文档中显示,比如生成 HTML 页面。
- 视图(View):处于 MTV 模式中间层,是业务逻辑层。负责存取模型以及调取合适模板的相关逻辑,是连接模型和模板的桥梁,仅负责选择要展示的数据并传递到模板,不处理用户输入。
- URL 分发器:虽未在 MTV 名称中体现,但至关重要,相当于 MVC 模式中的控制器(Controller)。它使用正则表达式匹配 URL,将 URL 页面请求分发给不同的视图处理,再由视图调用相应的模型和模板。
下面是一个简化的表格,用于展示MVC(Model-View-Controller)、MVT(Model-View-Template)三种设计模式的主要区别:
特性/设计模式 |
MVC(模型-视图-控制器) |
MVT(模型-视图-模板) |
主要目标 |
分离数据管理、业务逻辑与界面呈现。 |
通过清晰的分离关注点来简化Web应用开发。 |
组件角色 |
- Model: 数据存取层。 - View: 用户界面层。 - Controller: 接收用户输入并调用Model和View进行适当响应。 |
- Model: 数据存取层。 - View: 视图层,负责展示逻辑。 - Template: 定义了如何将数据渲染到HTML页面上。 |
数据流动 |
用户交互 -> Controller -> Model -> View |
用户交互 -> View -> Model -> Template |
适用场景 |
适用于需要复杂用户交互的应用程序。 |
主要用于Web开发,尤其是Django框架中。 |
优点 |
提供良好的分离关注点,便于代码维护。 |
简化Web应用开发流程,易于理解。 |
缺点 |
可能导致过多的事件监听器和回调函数。 |
相比MVC,灵活性较低,特别是在非Web上下文中。 |
MVC和MVT的图示:
①MVC图示:
②MVT图示:
1.3 Django 的核心特点
Django 能成为流行的 Web 框架,离不开其强大的特点:
- 全功能框架:提供从数据库到模板的完整解决方案,无需额外整合大量第三方工具。
- ORM 系统:强大的对象关系映射功能,简化数据库操作,开发者无需编写复杂的 SQL 语句,用 Python 代码就能操作数据库。
- 自动化管理后台:可自动生成管理界面,方便对网站内容进行管理,大大减少后台开发工作量。
- 灵活路由系统:支持灵活的 URL 配置,能轻松实现 URL 与视图的映射。
- 强大模板系统:拥有强大的模板引擎,支持模板继承,便于实现页面风格统一和代码复用。
- 便捷表单处理:简化表单的创建和验证流程,降低表单开发难度。
- 内置认证系统:提供内置的用户认证和权限管理功能,保障网站安全。
- 全面安全特性:能有效防止 SQL 注入、XSS(跨站脚本)、CSRF(跨站请求伪造)等常见网络攻击。
- 国际化支持:内置多语言支持,便于开发多语言版本的网站。
- 实用缓存框架:支持多种缓存后端,可提高网站访问速度,减轻服务器压力。
二、创建第一个 Django 项目(两种方式)
安装好开发环境后,就可以创建第一个 Django 项目了,这里介绍两种常用的创建方式:通过命令行和通过 PyCharm。
2.1 安装 Django 框架
完成上述准备工作后,就可以安装 Django 框架了。
1.打开命令行,输入以下命令安装指定版本(5.2.5)的 Django:
python -m pip install Django==5.2.5
2.安装完成后,验证是否安装成功,输入命令:
django-admin --version
如果能显示 Django 的版本信息,说明 Django 安装成功。
安装好开发环境后,就可以创建第一个 Django 项目了,这里介绍两种常用的创建方式:通过命令行和通过 PyCharm。
2.2 通过命令行创建 Django 项目
1. 创建项目目录:首先在命令行中切换到想要存放项目的目录,然后输入以下命令创建一个名为 “django_project” 的项目目录,并进入该目录:
mkdir django_project
cd django_project
2.创建虚拟环境:为了避免项目依赖冲突,建议为每个 Django 项目创建独立的虚拟环境。输入以下命令创建名为 “venv” 的虚拟环境:
python -m venv venv
什么是虚拟环境?
venv
就是 Python 的“项目隔离罩”,让你每个项目用自己的 Python 和依赖,干净、可控、不打架。
3.激活虚拟环境:
- Windows 系统:
venv\Scripts\activate
- macOS/Linux 系统(主播的电脑是windows系统,所以这个就没有演示了):
source venv/bin/activate
激活成功后,命令行提示符前会显示 “(venv)”。
4. 安装 Django:虽然之前已经安装过 Django,但为了确保虚拟环境中使用的是指定版本,可再次输入安装命令(若虚拟环境中已存在,会提示已安装):
pip install Django==5.2.5
5.创建 Django 项目:输入以下命令创建一个名为 “mysite” 的 Django 项目:
django-admin startproject mysite
6.进入项目目录:
cd mysite
7.运行开发服务器:输入命令启动 Django 开发服务器:
python manage.py runserver
启动成功后,在浏览器中输入 “http://127.0.0.1:8000/”,若能看到 Django 的默认欢迎页面,说明项目创建并启动成功。
2.3 通过 PyCharm 创建 Django 项目
- 打开 PyCharm,点击 “New Project”。
- 在弹出的窗口中,选择 “Django” 选项,然后设置项目的名称(如 “mysite”)和项目存放位置。
- 选择 Python 解释器,建议选择之前创建的虚拟环境中的 Python 解释器(若未创建,可在此时通过 “New environment” 选项创建)。
- 点击 “Create” 按钮,等待项目初始化完成。
- 项目初始化完成后,点击 PyCharm 工具栏中的 “Run” 按钮(或右键点击项目中的 “manage.py” 文件,选择 “Run 'manage.py runserver'”),启动开发服务器。
- 同样在浏览器中输入 “http://127.0.0.1:8000/”,查看是否能正常显示 Django 欢迎页面。
创建成功的目录:
三、两种启动项目的方式
3.1 通过指令运行
python manage.py runserver
3.2 通过Pycharm工具运行
runserver
成启动后打开http://127.0.0.1:8000/的页面:
四、总结
当你按下 python manage.py runserver
的那一刻,本地回显的 127.0.0.1:8000 不只是一个欢迎页面,而是一把钥匙:
它打开了 ORM 让你用 Python 写 SQL
它铺好了路由让你随心所欲定制 URL
它准备好了 MTV 模式,等你把创意塞进模板里
它暗装了 admin 后台,只等你一句
admin.site.register()
就让数据库秒变可视化
今天,我们搭的是“毛坯房”;明天,就能用它长出用户系统、RESTful API、WebSocket 聊天室、甚至一整个 SaaS。
🎯 评论区立个 Flag 吧:
你打算在这个项目里加什么功能?
是博客、商城、还是私藏已久的脑洞?
留言打卡 + 点赞,过两周我来围观:
谁的 star 最多,我免费出下一篇《从 0 到上线:Django 部署全攻略》!
如果这篇笔记帮你少踩了坑,点个 ❤️ 与收藏,把干货转给那个还在被“环境配置”劝退的伙伴。
Django 的世界很大,我们一起把它跑通、玩烂、再重构!
—— 下次见,代码里相逢。