博客系统 活跃维护

izone

Hopetree/izone

一个基于Django的博客项目,也可以当做一个文档管理网站使用,自带评论、定时任务等功能,界面简约而不简单

1232
Stars 标星
379
Forks 分支
31
Watchers 关注
5
Open Issues
Python
主要语言
MIT
开源协议
7.2 MB
仓库大小
9 天前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:Hopetree/izone
git clone https://github.com/Hopetree/izone.git
git clone git@github.com:Hopetree/izone.git
README.md master

机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。

爱藏

一个以 Django 框架搭建的个人博客系统。

线上地址:https://tendcode.com/

技术栈

层级 技术
后端框架 Django 2.2 + Python 3.9
数据库 MySQL(utf8mb4)
缓存 / 消息队列 Redis
异步任务 Celery 4.4(Worker + Beat 合并单进程)
搜索引擎 MySQL FULLTEXT(n-gram 中文分词)
前端 Bootstrap 4 jQuery
容器化 Docker Gunicorn Supervisord

页面效果(响应式)

文档索引

文档 说明
产品需求规格说明书 产品需求,包含功能列表和非功能需求
架构设计文档 技术选型、模块划分、部署架构
数据库设计文档 实体定义、关系说明、设计决策
API 接口文档 各应用 JSON API 端点
Code Review 报告 代码审查与问题追踪
AGENTS.md 项目工作指南(架构速览、提交规范、构建约束)

功能

  • Django 后台管理系统,方便管理文章、用户及其他动态内容
  • 文章分类、标签、专题(Subject → Topic → Article)层级结构
  • 全文搜索(MySQL FULLTEXT n-gram 中文分词,直接查询实时数据)
  • 文章评论系统(二级回复、微博表情、Markdown)、评论通知
  • 用户认证(Django 用户系统 + OAuth 微博/GitHub 第三方登录)
  • 浏览量统计(爬虫 UA 过滤、按访客 30 分钟去重、每日快照)
  • 友链管理(在线申请、定时自动校链,外呼有并发上限)
  • RSS 订阅、Sitemap 网站地图、百度 SEO 推送
  • RESTful API(条件启用,DRF DefaultRouter;列表接口不返回正文)
  • 在线工具(条件启用)、服务监控、导航网站、流程图、脚本工具分享
  • 响应式设计(PC / iPad / 手机),暗色主题支持
  • Redis 缓存(文章渲染/RSS 正文/站点配置/侧边栏统计/未读计数),Celery 定时任务调度

快速开始

Docker 部署

# 构建镜像
docker build -t hopetree/izone:lts .

# slim 镜像(国内构建)
docker build --build-arg pip_index_url=http://mirrors.aliyun.com/pypi/simple/ \
             --build-arg pip_trusted_host=mirrors.aliyun.com \
             --build-arg debian_host=mirrors.ustc.edu.cn \
             -f Dockerfile-slim -t hopetree/izone:lts .

# 运行(需要预先启动 MySQL 和 Redis)
docker run -d \
  -e IZONE_MYSQL_HOST=mysql_host \
  -e IZONE_MYSQL_PASSWORD=your_password \
  -e IZONE_REDIS_HOST=redis_host \
  -p 8000:8000 \
  hopetree/izone:lts

本地开发

# 安装依赖
python -m venv env
source env/bin/activate
pip install -r requirements.txt

# 数据库迁移
python manage.py migrate

# 创建管理员
python manage.py createsuperuser

# 启动开发服务器
python manage.py runserver

# 启动 Celery(可选,异步任务需要;Worker 与 Beat 单进程)
celery -A izone worker -l info -B --pool=solo

环境变量

关键配置通过环境变量注入,完整列表见 架构设计文档。

变量 说明 默认值
IZONE_DEBUG 调试模式 True
IZONE_MYSQL_HOST MySQL 主机 127.0.0.1
IZONE_MYSQL_PASSWORD 数据库密码 python
IZONE_REDIS_HOST Redis 主机 127.0.0.1
IZONE_TOOL_FLAG 启用在线工具 True
IZONE_API_FLAG 启用 REST API True

项目结构

izone/
├── izone/              # Django 项目配置(settings/urls/wsgi)
├── apps/               # 所有 Django 应用
│   ├── blog/           # 核心博客应用
│   ├── oauth/          # 自定义用户模型 + OAuth 认证
│   ├── comment/        # 评论与通知系统
│   ├── easytask/       # Celery 异步任务
│   ├── api/            # REST API(条件启用)
│   ├── tool/           # 在线工具(条件启用)
│   ├── monitor/        # 服务监控
│   └── ...             # webstack, resume, flow, portinfo, rsshub
├── templates/          # 共享模板
├── utils/              # 共享工具(Markdown 扩展等)
├── docs/design/        # 设计文档
├── Dockerfile
└── manage.py

许可

MIT License

| — | 2026-07-24 | 根据 commit 2ca6b0b 更新:文档索引新增 Code Review 报告,功能列表新增脚本工具分享 |
| — | 2026-09-05 | 搜索切换为 MySQL FULLTEXT(移除 haystack/Whoosh);Celery Worker 与 Beat 合并单进程;新增 AGENTS.md |
| — | 2026-09-11 | 浏览量改为按访客 30 分钟 Redis 去重;补充缓存清单与列表接口不返回正文;友链校链并发上限 |

本站来源与版权声明
  • 本文标题:izone - 一个基于Django的博客项目
  • 本文链接:https://www.cn121.com/blog/hopetree-izone.html
  • 原项目:Hopetree/izone 版权归原作者 Hopetree 及贡献者所有
  • 收录信息:本站于 2026-10-25 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 Hopetree/izone。
  • 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。