任务理解

  1. 运行 DjangoBlog 项目https://gitee.com/lylinux/DjangoBlog

  2. 做一个项目介绍,重点解释 MVT 模式 分别做了什么

  3. 参考 django-vue3-admin 作为更完整的项目示例来理解(https://gitee.com/huge-dream/django-vue3-admin


第一部分:运行 DjangoBlog 项目

第一步:克隆项目到本地

在命令提示符中执行:

cd C:\Users\25412
git clone https://gitee.com/lylinux/DjangoBlog.git
cd DjangoBlog

第二步:创建虚拟环境(推荐)

python -m venv venv
venv\Scripts\activate

激活后,命令提示符前面会出现 (venv)

第三步:安装依赖

pip install -r requirements.txt

如果提示某些包安装失败,可以逐个安装:pip install django==4.0 mysqlclient ...

安装好后进入 DjangoBlog 目录并激活虚拟环境

cd C:\Users\25412\DjangoBlog
venv\Scripts\activate

第四步:配置数据库(使用 SQLite 简化)

由于我们还没有安装 MySQL,先用 SQLite 运行。打开 djangoblog/settings.py

notepad djangoblog\settings.py

DjangoBlog 默认使用 MySQL,但为了方便测试,可以先改用 SQLite(和你之前学的投票应用一样)。

打开 djangoblog/settings.py,找到 DATABASES 配置,修改为:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

第五步:初始化数据库

python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser

按提示创建管理员账号。

第六步:生成测试数据(可选)

python manage.py create_testdata

第七步:运行服务器

python manage.py runserver

前台首页:http://127.0.0.1:8000/

后台管理:http://127.0.0.1:8000/admin/(用刚才创建的账号登录)


 

 项目介绍(MVT 分析)

基于你运行的 DjangoBlog,以下是 MVT 模式的具体分析

1. Model(模型层)—— 定义数据结构

位置blog/models.pycomments/models.pyaccounts/models.py

模型类 作用 主要字段
Article 文章 title(标题)、content(内容)、pub_date(发布时间)、status(状态:p=发布)
Category 分类 name(分类名称)、parent_category(父分类)
Tag 标签 name(标签名称)
Comment 评论 author(评论者)、content(评论内容)、article(所属文章)
BlogUser 用户 扩展 Django 内置用户

2. View(视图层)—— 处理业务逻辑

位置blog/views.py

视图类 URL 功能
IndexView / 首页:展示文章列表,支持分页
ArticleDetailView /article/<year>/<month>/<day>/<id>.html 文章详情:显示完整文章和评论
CategoryDetailView /category/<name>.html 分类页面:按分类筛选文章
TagDetailView /tag/<name>.html 标签页面:按标签筛选文章
ArchivesView /archives.html 归档页面:按年月展示文章

3. Template(模板层)—— 控制页面显示

位置templates/blog/

模板文件 对应视图 功能
article_index.html IndexView 首页布局,循环展示文章卡片
article_detail.html ArticleDetailView 文章详情页,显示标题、内容、评论区
base.html 所有页面继承 基础模板,包含导航栏、页脚

在 DjangoBlog 中,MVT 分别做了什么?

组件 在 DjangoBlog 中的具体作用 对应代码位置
Model(模型) 定义博客的数据结构:文章、分类、标签、评论等。每个模型对应数据库中的一张表。 blog/models.py 中的 ArticleCategoryTagComment 等类
View(视图) 处理用户请求:首页展示文章列表、文章详情页、分类筛选、搜索功能等。视图从模型获取数据,传递给模板。 blog/views.py 中的 indexdetailsearch 等函数或类
Template(模板) 控制页面显示:HTML 结构、文章列表循环、分页、侧边栏组件等。模板接收视图传递的数据进行渲染。 templates/blog/ 目录下的 .html 文件,如 index.htmldetail.html

4. MVT 协作流程(以首页为例)

  1. 用户访问http://127.0.0.1:8000/

  2. URL 路由djangoblog/urls.py)匹配到 blog.urls

  3. View 调用 IndexView,通过 get_queryset() 从数据库获取文章列表

  4. View 将文章列表传递给 article_index.html 模板

  5. Template 渲染 HTML,显示文章标题、内容摘要、发布日期

  6. 浏览器呈现完整页面给用户



第三部分:参考 django-vue3-admin 项目

django-vue3-admin 是一个更完整的项目,展示了 Django 作为后端 API 配合 Vue3 前端的企业级开发模式。你可以通过阅读它的文档和代码来理解:

对比项 DjangoBlog django-vue3-admin
架构 传统 Django MVT(前后端不分离) Django REST Framework + Vue3(前后端分离)
前端 Django 模板 Vue3 + TypeScript + Element Plus
权限控制 基础用户权限 RBAC 权限模型,列级别权限
用途 博客系统 企业级后台管理平台

https://gitee.com/f23016209/django-blog将代码上传至Gitee

新建一个仓库为 DjangoBlog 单独创建一个新仓库,这样两个项目分开管理更清晰

第一步:在 Gitee 新建仓库
登录 Gitee,点击右上角 + → 新建仓库

填写信息:

仓库名称:DjangoBlog

仓库介绍:DjangoBlog 博客系统

开源许可证:选择 MIT(可选)

初始化仓库:不要勾选任何选项(因为我们要上传已有代码)点击 创建

第一步:确认当前在 DjangoBlog 目录

cd C:\Users\25412\DjangoBlog

 

第二步:初始化 Git 仓库(如果还没做)

git init

第三步:配置用户信息

git config --global user.name "你的账号名"
git config --global user.email "你的邮箱"

第四步:添加所有文件

git add .

第五步:提交到本地仓库

git commit -m "DjangoBlog 博客系统 - 完整代码"

第七步:查看当前远程仓库地址

git remote -v

第八步:删除错误的远程地址

git remote remove origin

第九步:添加你自己的仓库地址

git remote add origin https://gitee.com/f23016209/django-blog.git

第十步:确认修改成功

git remote -v

应该显示:

第十一步:推送代码

git push -u origin master

推送成功后,刷新 https://gitee.com/f23016209/django-blog 就能看到代码了!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐