# python实现个人博客系统 **Repository Path**: codewithlong/my_blog ## Basic Information - **Project Name**: python实现个人博客系统 - **Description**: 基于python实现的个人博客系统,界面效果基于python的tkinter库实现 - **Primary Language**: Unknown - **License**: AFL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-05-28 - **Last Updated**: 2025-10-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 个人博客系统 ## 项目简介 本项目是一个基于Python和Tkinter开发的个人博客桌面应用系统,采用MVC架构设计,实现了用户认证、博客管理、粉丝关注等核心功能。系统使用MySQL作为数据库存储用户信息、博客内容和评论数据,提供了友好的图形用户界面,适合个人学习、记录生活与技术成长。 ## 主要功能 - **用户认证**:支持用户注册、登录和密码修改 - **博客管理**:创建、查看、删除个人博客 - **博客浏览**:浏览所有用户发布的博客 - **评论系统**:对博客进行评论互动 - **粉丝关系**:关注其他用户并查看关注用户的博客 - **用户管理**:管理个人信息 ## 技术架构 - **前端**:Python Tkinter GUI库 - **后端**:Python核心逻辑 - **数据库**:MySQL关系型数据库 - **设计模式**:MVC架构(模型-视图-控制器) ## 目录结构 ``` ├── APP/ # 应用程序入口 │ ├── __init__.py │ └── start.py # 启动入口(推荐运行此文件启动项目) ├── GUI界面/ # 前端界面相关代码 │ ├── AboutWindow.py # 关于界面 │ ├── AuthWindow.py # 登录注册窗口 │ ├── BaseSubWindow.py # 子窗口基类 │ ├── BlogList.py # 博客列表界面 │ ├── BlogManage.py # 博客管理界面 │ ├── FansManage.py # 粉丝管理界面 │ ├── HomeWindow.py # 首页窗口 │ ├── MainApplication.py # 主应用窗口 │ ├── UserManage.py # 用户管理界面 │ └── __init__.py ├── 实体类/ # 数据实体定义 │ ├── User.py # 用户实体类 │ └── __init__.py ├── 数据库操作/ # 数据库相关操作 │ ├── CommentOperation.py # 评论操作 │ ├── CreateMysqlCon.py # 数据库连接 │ ├── FollowOperation.py # 关注操作 │ ├── GetBlogList.py # 获取博客列表 │ ├── InsertBlog.py # 插入博客 │ ├── LoginMysql.py # 登录验证 │ ├── UpdatePassword.py # 更新密码 │ ├── UserOperation.py # 用户操作 │ └── __init__.py ├── 工具包utils/ # 工具函数 │ ├── str_operation.py # 字符串操作工具 │ └── __init__.py ├── .gitignore # Git忽略文件 ├── sql.sql # 数据库初始化脚本 └── README.md # 项目说明文档 ``` ## 代码逻辑详解 ### 1. 应用程序入口 应用程序从`APP/start.py`启动,初始化认证窗口: ```python # APP/start.py from GUI界面.AuthWindow import AuthWindow if __name__ == "__main__": try: auth_window = AuthWindow() auth_window.mainloop() except Exception as e: print("发生异常:", e) ``` ### 2. 用户认证流程 - `AuthWindow.py`实现了登录和注册功能 - 用户登录成功后,会创建`MainApplication`主窗口 - 用户信息通过`User`实体类在系统中传递 ### 3. 主应用程序结构 `MainApplication.py`是系统的核心窗口,包含: - 顶部导航栏:提供各功能模块的入口 - 内容区域:显示当前选中的功能模块 - 用户操作区:提供退出登录、修改密码等功能 ### 4. 博客管理功能 - `BlogManage.py`实现了个人博客的增删改查 - 用户可以添加新博客、删除已有博客 - 博客数据通过`InsertBlog`类存入数据库 ### 5. 博客浏览功能 - `BlogList.py`提供所有博客和关注博客的浏览 - 支持博客详情查看和评论功能 - 可以关注/取消关注博客作者 ### 6. 数据库设计 数据库包含四个主要表: - `user_data`:存储用户信息 - `blog_list`:存储博客内容 - `comments`:存储评论信息 - `user_follows`:存储用户关注关系 ## 环境依赖 - **Python 3.7+**:核心编程语言 - **Tkinter**:GUI库(Python标准库自带) - **PyMySQL**:MySQL数据库连接库 - **MySQL 5.7+**:关系型数据库 ## 安装与运行 ### 1. 环境准备 确保已安装Python和MySQL: ```bash # 安装PyMySQL库 pip install pymysql ``` ### 2. 数据库配置 1. 创建MySQL数据库: ```sql CREATE DATABASE my_blog CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` 2. 导入数据库结构: ```bash # 使用MySQL命令行工具 mysql -u root -p my_blog < sql.sql ``` 3. 配置数据库连接: - 修改`数据库操作/CreateMysqlCon.py`中的连接参数(如有需要) ```python self.con = pymysql.connect( host="localhost", port=3306, user="root", password="1234", # 修改为你的密码 database="my_blog", autocommit = True ) ``` ### 3. 运行应用 ```bash # 进入项目目录 cd 个人博客实战 # 运行应用 python APP/start.py ``` ## 项目特点 1. **模块化设计**:采用模块化设计,各功能模块相对独立,便于维护和扩展 2. **MVC架构**:清晰的模型-视图-控制器分离,代码结构清晰 3. **面向对象**:充分利用面向对象编程思想,提高代码复用性 4. **用户友好**:简洁直观的界面设计,操作便捷 5. **完整功能**:实现了博客系统的核心功能,包括用户管理、内容管理、社交互动等 6. **本地应用**:作为桌面应用运行,无需部署服务器 ## 贡献指南 欢迎提出issue或建议,帮助项目持续完善。如需贡献代码,请遵循以下步骤: 1. Fork本仓库 2. 克隆本仓库(`git clone git@gitee.com:codewithlong/my_blog.git`) 3. 创建您的特性分支 (`git checkout -b feature/AmazingFeature`) 4. 提交您的更改 (`git commit -m 'Add some AmazingFeature'`) 5. 推送到分支 (`git push origin feature/AmazingFeature`) 6. 打开一个Pull Request ## 联系方式 如有疑问或合作意向,请通过以下方式联系: - 邮箱:codewithlong@qq.com ## 致谢 - 感谢头头的陪伴,你永远是我的那道光 ## 官方仓库地址 - Gitee: [https://gitee.com/codewithlong/my_blog](https://gitee.com/codewithlong/my_blog) ## 许可证 本项目采用 MIT License。详见 LICENSE 文件。