Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🍺基于Django的博客系统

License

NotificationsYou must be signed in to change notification settings

liangliangyy/DjangoBlog

Repository files navigation

Django CICodeQLcodecovlicense

一款功能强大、设计优雅的现代化博客系统
English简体中文


DjangoBlog 是一款基于 Python 3.10 和 Django 4.0 构建的高性能博客平台。它不仅提供了传统博客的所有核心功能,还通过一个灵活的插件系统,让您可以轻松扩展和定制您的网站。无论您是个人博主、技术爱好者还是内容创作者,DjangoBlog 都旨在为您提供一个稳定、高效且易于维护的写作和发布环境。

✨ 特性亮点

  • 强大的内容管理: 支持文章、独立页面、分类和标签的完整管理。内置强大的 Markdown 编辑器,支持代码语法高亮。
  • 全文搜索: 集成搜索引擎,提供快速、精准的文章内容搜索。
  • 互动评论系统: 支持回复、邮件提醒等功能,评论内容同样支持 Markdown。
  • 灵活的侧边栏: 可自定义展示最新文章、最多阅读、标签云等模块。
  • 社交化登录: 内置 OAuth 支持,已集成 Google, GitHub, Facebook, 微博, QQ 等主流平台。
  • 高性能缓存: 原生支持 Redis 缓存,并提供自动刷新机制,确保网站高速响应。
  • SEO 友好: 具备基础 SEO 功能,新内容发布后可自动通知 Google 和百度。
  • 便捷的插件系统: 通过创建独立的插件来扩展博客功能,代码解耦,易于维护。我们已经通过插件实现了文章浏览计数、SEO 优化等功能!
  • 集成图床: 内置简单的图床功能,方便图片上传和管理。
  • 自动化前端: 集成django-compressor,自动压缩和优化 CSS 及 JavaScript 文件。
  • 健壮的运维: 内置网站异常邮件提醒和微信公众号管理功能。

🛠️ 技术栈

  • 后端: Python 3.10, Django 4.0
  • 数据库: MySQL, SQLite (可配置)
  • 缓存: Redis
  • 前端: HTML5, CSS3, JavaScript
  • 搜索: Whoosh, Elasticsearch (可配置)
  • 编辑器: Markdown (mdeditor)

🚀 快速开始

1. 环境准备

确保您的系统中已安装 Python 3.10+ 和 MySQL/MariaDB。

2. 克隆与安装

# 克隆项目到本地git clone https://github.com/liangliangyy/DjangoBlog.gitcd DjangoBlog# 安装依赖pip install -r requirements.txt

3. 项目配置

  • 数据库:打开djangoblog/settings.py 文件,找到DATABASES 配置项,修改为您的 MySQL 连接信息。

    DATABASES= {'default': {'ENGINE':'django.db.backends.mysql','NAME':'djangoblog','USER':'root','PASSWORD':'your_password','HOST':'127.0.0.1','PORT':3306,    }}

    在 MySQL 中创建数据库:

    CREATEDATABASE `djangoblog` DEFAULT CHARACTERSET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • 更多配置:关于邮件发送、OAuth 登录、缓存等更多高级配置,请参阅我们的详细配置文档

4. 初始化数据库

python manage.py makemigrationspython manage.py migrate# 创建一个超级管理员账户python manage.py createsuperuser

5. 运行项目

# (可选) 生成一些测试数据python manage.py create_testdata# (可选) 收集和压缩静态文件python manage.py collectstatic --noinputpython manage.py compress --force# 启动开发服务器python manage.py runserver

现在,在您的浏览器中访问http://127.0.0.1:8000/,您应该能看到 DjangoBlog 的首页了!

部署

🧩 插件系统

插件系统是 DjangoBlog 的核心特色之一。它允许您在不修改核心代码的情况下,通过编写独立的插件来为您的博客添加新功能。

  • 工作原理: 插件通过在预定义的“钩子”上注册回调函数来工作。例如,当一篇文章被渲染时,after_article_body_get 钩子会被触发,所有注册到此钩子的函数都会被执行。
  • 现有插件:view_count(浏览计数),seo_optimizer(SEO优化)等都是通过插件系统实现的。
  • 开发您自己的插件: 只需在plugins 目录下创建一个新的文件夹,并编写您的plugin.py。欢迎探索并为 DjangoBlog 社区贡献您的创意!

🤝 贡献指南

我们热烈欢迎任何形式的贡献!如果您有好的想法或发现了 Bug,请随时提交 Issue 或 Pull Request。

📄 许可证

本项目基于MIT License 开源。


❤️ 支持与赞助

如果您觉得这个项目对您有帮助,并且希望支持我继续维护和开发新功能,欢迎请我喝杯咖啡!您的每一份支持都是我前进的最大动力。

支付宝赞助微信赞助

(左) 支付宝 / (右) 微信

🙏 鸣谢

特别感谢JetBrains 为本项目提供的免费开源许可证。

JetBrains Logo


如果本项目帮助到了你,请在这里留下你的网址,让更多的人看到。您的回复将会是我继续更新维护下去的动力。

About

🍺基于Django的博客系统

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp