一、MVT 模式简介
1. 浏览器访问页面的完整流程
用户在浏览器输入网址或搜索内容,按回车。
浏览器将请求发送到服务器。
服务器处理请求,返回响应数据。
浏览器接收响应,将页面内容显示出来。
用户只需操作浏览器,不关心服务器细节;Web 开发人员则负责开发服务器端。
2. MVT 模式的工作流程
以访问课程页面为例:
-
浏览器向服务器发送请求(包含 URL、浏览器信息、Cookie 等)。
-
服务器解析请求,分配给对应的视图函数(View)处理。
-
视图函数如需数据,会查询数据库(通过模型类Model)。
-
数据库返回查询结果给视图函数。
-
视图函数将数据和模板(Template)结合,生成响应(Response)返回浏览器。
-
浏览器解析响应,显示页面。
MVT 各部分作用
-
Model(模型):与数据库交互,负责数据的获取和存储。
-
View(视图):处理业务逻辑,接收请求、调用模型、返回响应。
-
Template(模板):负责页面展示,包含 HTML、CSS、JS 等静态资源。
MVT 模式是 Django 的核心设计思想,三者协作完成 Web 页面动态展示。
二、Django 框架简介
-
Django:用 Python 编写的开源 Web 框架,采用 MVT 架构。
-
2005 年开源,最初用于新闻网站开发。
-
目标:让开发“流程复杂、依赖数据库”的网站变得简单。
-
遵循 DRY 原则(Don't Repeat Yourself),各组件低耦合。
Django 核心功能
-
ORM(对象关系映射):用类定义数据表,操作数据库更简单。
-
URL 分发器:支持正则和简洁路径,灵活分配请求。
-
视图系统:处理请求与响应。
-
模板系统:内置 Jinja2,方便动态页面渲染。
-
开发服务器:轻量独立,便于开发测试。
-
缓存框架:多种缓存方式,提升性能。
-
中间件:可在请求处理各阶段插入自定义逻辑。
内置实用应用
-
可扩展的认证系统
-
动态站点管理后台
-
灵活的评论系统
-
CSRF 防护
-
标记语言模板库
三、Python Web 框架对比
-
Flask:轻量、灵活,插件丰富,适合小型网站。
-
Tornado:高性能,支持异步,适合高并发场景。
-
Bottle:极简,仅依赖标准库,适合微型项目。
-
Aiohttp:基于 asyncio,支持异步,框架较新。
-
结论:小型网站用 Flask,大型网站用 Django。
四、linux环境Django 安装步骤
更新 pip
sudo pip install -U pip
安装 virtualenv 并创建虚拟环境
cd /home/project
sudo pip install -U virtualenv
virtualenv -p python venv
进入虚拟环境并安装 Django
source venv/bin/activate
pip install django==3.1.4
pip freeze | grep -i django
安装常用工具包
-
先安装 mysqlclient 依赖
sudo apt update
sudo apt install -y libmysqlclient-dev -
再安装 ipython 和 mysqlclient
pip install ipython mysqlclient
-
激活虚拟环境,检查已安装包
source venv/bin/activate
pip freeze
五、本节总结
-
掌握了 MVT 模式的设计思路和三大核心组件的协作关系。
-
了解了 Django 框架的核心功能和优势。
-
学会了在虚拟环境中安装和配置 Django。
下一步:学习如何用 Django 创建 Web 项目。
评论前必须登录!
注册