一、项目概述

DjangoBlog 是基于 Python 主流 Web 框架 Django 开发的轻量化开源博客系统,采用经典的 MVT(Model-View-Template)架构,集成文章管理、用户认证、评论、分类、搜索等核心博客功能,适合 Django 初学者学习、二次开发与部署使用。

项目核心特性:

  • 基于 Django 原生框架,结构清晰,易于理解和修改
  • 完整的前后端一体化实现,无需独立部署前端
  • 支持 MySQL 数据库,适配生产环境使用
  • 包含用户登录 / 注册、文章增删改查、分类标签、后台管理等功能
  • 代码规范,注释完整,是 Django 入门最佳实战项目

二、项目运行环境与准备

1. 环境要求

  • Python 3.8+
  • Django 4.0+
  • MySQL 5.7 / 8.0
  • Windows 操作系统

2. 前置工具

  • PyCharm / VS Code 代码编辑器
  • CMD / PowerShell 命令行工具
  • MySQL 数据库服务
     


三、项目完整运行步骤

1. 下载与解压项目

从开源平台(GitHub/Gitee)下载 DjangoBlog 项目源码,解压到本地文件夹(如 D:\DjangoBlog)。

2. 创建并激活虚拟环境

虚拟环境用于隔离项目依赖,避免版本冲突:

# 进入项目根目录
cd D:\DjangoBlog

# 创建虚拟环境
python -m venv venv

# 激活虚拟环境(Windows CMD)
venv\Scripts\activate

激活成功后,命令行前缀会出现 (venv) 标识。

3. 安装项目依赖

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

4. 配置 MySQL 数据库

  1. 登录 MySQL,创建项目数据库:
CREATE DATABASE djangoblog CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. 修改项目 settings.py 数据库配置:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'djangoblog',       # 数据库名
        'USER': 'root',             # MySQL 用户名
        'PASSWORD': '你的密码',      # MySQL 密码
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

5. 数据库迁移与初始化

# 生成迁移文件
python manage.py makemigrations

# 执行迁移,创建数据表
python manage.py migrate

# 创建超级管理员(用于后台管理)
python manage.py createsuperuser

6. 启动项目

python manage.py runserver

启动成功后访问:

  • 前端博客页面:访问 http://127.0.0.1:8000 后,可看到:
     
  • 首页文章列表(分页展示)
  • 文章详情页(含评论区)
  • 分类与标签归档
  • 侧边栏热门文章与分类导航
  • 后台管理系统:http://127.0.0.1:8000/admin/

四、项目核心架构解读(MVT 模式)

DjangoBlog 严格遵循 Django MVT 架构,与传统 MVC 模式对应关系:

表格

模块 全称 作用
Model 模型 定义数据表结构,与数据库交互
View 视图 处理业务逻辑,接收请求、返回响应
Template 模板 负责页面展示,渲染 HTML

1. Model(数据模型)

项目核心模型:

  • Article:文章模型(标题、内容、分类、创建时间)
  • Category:分类模型
  • User:用户模型(Django 自带)
  • Comment:评论模型

作用:通过 Python 类自动生成数据库表,无需手写 SQL

2. View(视图逻辑)

视图是项目的核心处理层:

  • 接收前端 HTTP 请求
  • 调用模型查询 / 修改数据
  • 传递数据给模板渲染
  • 返回页面或 JSON 响应

视图类型:函数视图 + 类视图,代码可读性强,便于维护。

3. Template(页面模板)

使用 Django 模板引擎:

  • HTML 页面嵌入变量、循环、判断等语法
  • 实现页面动态渲染
  • 包含首页、文章详情页、分类页、后台页面

4. URL 路由

统一管理请求地址与视图的映射关系:

  • /:首页,展示文章列表
  • /article/1/:文章详情页
  • /admin/:后台管理
  • /category/1/:分类文章列表

五、项目核心功能解读

  1. 用户管理

    • 基于 Django 自带认证系统
    • 支持注册、登录、退出、权限控制
  2. 文章管理

    • 后台发布、编辑、删除文章
    • 支持富文本内容、分类、标签
  3. 前端展示

    • 文章列表分页展示
    • 文章详情页展示
    • 分类筛选、搜索功能
  4. 评论功能

    • 用户可对文章发表评论
    • 后台审核与管理
  5. 后台管理

    • Django Admin 自动生成管理界面
    • 可视化管理所有数据

六、项目技术亮点与学习价值

  1. 标准化 Django 项目结构符合官方规范,可直接作为 Django 项目模板使用。

  2. 前后端一体化无需独立部署前端,降低学习与部署成本。

  3. 数据库操作规范化使用 ORM 操作数据库,安全高效。

  4. 适合二次开发可快速扩展为个人博客、资讯网站、内容管理系统。

  5. 入门友好代码简洁、注释清晰,是学习 Django 最好的实战案例。


七、常见问题与解决方案

  1. MySQL 连接失败

    • 检查 MySQL 服务是否启动
    • 核对数据库名、账号、密码
  2. 依赖缺失报错

    • 重新执行 pip install -r requirements.txt
  3. 页面 404

    • 确认访问地址正确,后端已正常启动
  4. 数据库不存在

    • 手动登录 MySQL 创建对应数据库

八、总结

DjangoBlog 是一个轻量化、易上手、功能完整的 Django 开源博客项目,完美展示了 Django MVT 架构的核心思想与开发流程。通过运行与解读该项目,不仅可以掌握 Django 基础开发流程,还能理解 Web 项目的数据库设计、视图逻辑、页面渲染、路由管理等核心知识点,是 Python Web 开发入门的优质实战项目。

Logo

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

更多推荐