Skip to content

andrewji8/django-blog

Repository files navigation

Django 个人博客系统

一个功能完整、界面美观的个人博客系统,基于 Django 5.0+ 开发,具有类似 WordPress 的功能和现代化的用户界面。

✨ 主要特性

🎨 现代化界面

  • 基于 Bootstrap 5 的响应式设计
  • 优雅的卡片式布局
  • 移动端友好的用户体验
  • 自定义 CSS 样式和动画效果

📝 内容管理

  • 富文本编辑器 (CKEditor)
  • 文章分类和标签系统
  • 文章草稿和发布状态
  • 特色图片支持
  • SEO 优化字段

💬 互动功能

  • 评论系统 (支持审核)
  • 文章点赞功能
  • 社交分享按钮
  • 全文搜索功能

🔧 管理功能

  • Django Admin 后台管理
  • 用户权限管理
  • 博客设置配置
  • 统计信息显示

🚀 快速开始

环境要求

  • Python 3.8+
  • Django 5.0+
  • 其他依赖见 requirements.txt

安装步骤

  1. 克隆项目
git clone <repository-url>
cd django-blog
  1. 安装依赖
pip install -r requirements.txt
  1. 数据库迁移
python manage.py makemigrations
python manage.py migrate
  1. 创建超级用户
python manage.py createsuperuser
  1. 创建示例数据 (可选)
python manage.py shell < create_sample_data.py
  1. 启动开发服务器
python manage.py runserver
  1. 访问应用

📁 项目结构

django-blog/
├── blog/                   # 博客应用
│   ├── models.py          # 数据模型
│   ├── views.py           # 视图函数
│   ├── admin.py           # 后台管理
│   ├── forms.py           # 表单定义
│   └── urls.py            # URL 配置
├── blog_project/          # 项目配置
│   ├── settings.py        # 项目设置
│   └── urls.py            # 主 URL 配置
├── templates/             # 模板文件
│   ├── base.html          # 基础模板
│   └── blog/              # 博客模板
├── static/                # 静态文件
│   ├── css/               # 样式文件
│   └── js/                # JavaScript 文件
├── media/                 # 媒体文件 (上传)
├── requirements.txt       # 依赖包列表
├── create_sample_data.py  # 示例数据脚本
└── README.md             # 项目说明

🎯 核心功能

文章管理

  • ✅ 文章的增删改查
  • ✅ 富文本内容编辑
  • ✅ 分类和标签管理
  • ✅ 文章状态控制 (草稿/发布)
  • ✅ 特色图片上传
  • ✅ SEO 元数据设置

用户体验

  • ✅ 响应式设计
  • ✅ 文章搜索功能
  • ✅ 分页导航
  • ✅ 面包屑导航
  • ✅ 相关文章推荐
  • ✅ 阅读进度条

互动功能

  • ✅ 评论系统
  • ✅ 评论审核
  • ✅ 文章点赞
  • ✅ 社交分享
  • ✅ 浏览量统计

管理后台

  • ✅ Django Admin 集成
  • ✅ 文章管理界面
  • ✅ 评论管理
  • ✅ 用户权限控制
  • ✅ 博客设置配置

🛠️ 技术栈

后端

  • Django 5.0+ - Web 框架
  • Python 3.8+ - 编程语言
  • SQLite - 数据库 (可扩展到 PostgreSQL/MySQL)

前端

  • Bootstrap 5 - CSS 框架
  • jQuery - JavaScript 库
  • Font Awesome - 图标库
  • Google Fonts - 字体

第三方包

  • django-ckeditor - 富文本编辑器
  • django-taggit - 标签系统
  • django-crispy-forms - 表单美化
  • Pillow - 图像处理

📝 使用说明

管理后台使用

  1. 访问后台: http://127.0.0.1:8000/admin/
  2. 登录账号: 使用创建的超级用户账号
  3. 管理内容:
    • 在 "博客" 部分管理文章、分类、评论
    • 在 "博客设置" 中配置网站信息
    • 在 "用户" 部分管理用户权限

前台功能

  1. 浏览文章: 首页显示最新文章列表
  2. 分类浏览: 点击分类查看该分类下的文章
  3. 标签浏览: 点击标签查看相关文章
  4. 搜索功能: 使用顶部搜索框搜索文章
  5. 评论互动: 在文章详情页发表评论
  6. 社交分享: 使用分享按钮分享文章

🎨 自定义配置

博客设置

在管理后台的 "博客设置" 中可以配置:

  • 网站标题和描述
  • 每页文章数量
  • 评论相关设置
  • 页脚信息

主题定制

  • 修改 static/css/style.css 自定义样式
  • 编辑模板文件自定义布局
  • static/js/main.js 中添加交互功能

🔧 部署说明

生产环境部署

  1. 设置 DEBUG = False
  2. 配置 ALLOWED_HOSTS
  3. 使用生产级数据库 (PostgreSQL/MySQL)
  4. 配置静态文件服务
  5. 设置 HTTPS 和安全头

推荐部署方案

  • 服务器: Ubuntu/CentOS
  • Web服务器: Nginx
  • WSGI服务器: Gunicorn
  • 数据库: PostgreSQL
  • 缓存: Redis

🤝 贡献指南

欢迎提交 Issue 和 Pull Request 来改进这个项目!

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

🙏 致谢

  • Django 社区提供的优秀框架
  • Bootstrap 团队的精美 UI 组件
  • 所有开源贡献者的无私奉献

如果这个项目对你有帮助,请给个 ⭐ Star 支持一下!# django-blog

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published