# django-cms-system **Repository Path**: tuierQvQ/django-cms-system ## Basic Information - **Project Name**: django-cms-system - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-03 - **Last Updated**: 2025-08-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CMS 原型系统 一个基于 Django + Vue.js 的现代化内容管理系统,采用前后端分离架构设计。 ## 🚀 项目特性 ### 后端特性 - **Django 4.2+** - 成熟稳定的 Python Web 框架 - **Django REST Framework** - 强大的 API 开发工具包 - **Token 认证** - 安全的用户认证机制 - **MySQL 数据库** - 可靠的关系型数据库 - **管理后台** - Django Admin 管理界面 - **API 文档** - 自动生成的 API 文档 ### 前端特性 - **Vue.js 3** - 现代化的渐进式前端框架 - **Vue Router 4** - 官方路由管理器 - **Vuex 4** - 状态管理模式 - **Element Plus** - 优雅的 UI 组件库 - **响应式设计** - 适配多种设备尺寸 - **SPA 应用** - 单页面应用体验 ### 功能特性 - **文章管理** - 创建、编辑、发布文章 - **栏目管理** - 文章分类组织 - **用户认证** - 登录、注册、权限控制 - **搜索功能** - 全文搜索和筛选 - **管理后台** - 内容管理界面 - **权限控制** - 基于角色的访问控制 ## 📋 系统要求 ### 后端环境 - Python 3.8+ - MySQL 8.0+ - pip ### 前端环境 - Node.js 14+ - npm 或 yarn ## 🛠️ 快速开始 ### 方式一:本地开发环境 #### 1. 克隆项目 ```bash git clone cd cms-system ``` #### 2. 后端设置 ```bash cd cms_backend # 安装依赖 pip install -r requirements.txt # 配置环境变量 cp .env.example .env # 编辑 .env 文件,配置数据库连接 # 数据库迁移 python manage.py makemigrations python manage.py migrate # 创建超级用户 python manage.py createsuperuser # 初始化示例数据(可选) python manage.py shell < init_data.py # 启动后端服务 python manage.py runserver ``` #### 3. 前端设置 ```bash cd cms_frontend # 安装依赖 npm install # 启动开发服务器 npm run serve ``` #### 4. 访问应用 - 前端应用: http://localhost:8080 - 后端 API: http://localhost:8000 - 管理后台: http://localhost:8000/admin ### 方式二:Docker 部署 #### 1. 使用 Docker Compose ```bash # 启动所有服务 docker-compose up -d # 查看服务状态 docker-compose ps # 初始化数据库(首次运行) docker-compose exec backend python manage.py migrate docker-compose exec backend python manage.py createsuperuser ``` #### 2. 访问应用 - 前端应用: http://localhost - 后端 API: http://localhost/api - 管理后台: http://localhost/admin ## 📁 项目结构 ``` cms-system/ ├── cms_backend/ # Django 后端 │ ├── cms_backend/ # 项目配置 │ ├── cms/ # CMS 应用 │ ├── accounts/ # 用户认证应用 │ ├── requirements.txt # Python 依赖 │ ├── manage.py # Django 管理脚本 │ └── README.md # 后端文档 ├── cms_frontend/ # Vue.js 前端 │ ├── src/ # 源代码 │ │ ├── views/ # 页面组件 │ │ ├── components/ # 公共组件 │ │ ├── router/ # 路由配置 │ │ ├── store/ # 状态管理 │ │ └── api/ # API 接口 │ ├── package.json # 前端依赖 │ └── README.md # 前端文档 ├── docker-compose.yml # Docker 编排文件 └── README.md # 项目总体文档 ``` ## 🔧 配置说明 ### 环境变量配置 #### 后端环境变量 (.env) ```env SECRET_KEY=your-secret-key-here DEBUG=True DB_NAME=cms_prototype_db DB_USER=your-mysql-username DB_PASSWORD=your-mysql-password DB_HOST=localhost DB_PORT=3306 ``` #### 前端环境变量 ```env VUE_APP_API_BASE_URL=http://localhost:8000/api ``` ## 📚 API 文档 ### 认证 API - `POST /api/auth/login/` - 用户登录 - `POST /api/auth/logout/` - 用户登出 - `GET /api/auth/profile/` - 获取用户信息 ### 栏目 API - `GET /api/categories/` - 获取栏目列表 - `POST /api/categories/` - 创建栏目 - `GET /api/categories/{id}/` - 获取栏目详情 - `PUT /api/categories/{id}/` - 更新栏目 - `DELETE /api/categories/{id}/` - 删除栏目 ### 文章 API - `GET /api/items/` - 获取文章列表 - `POST /api/items/` - 创建文章 - `GET /api/items/{id}/` - 获取文章详情 - `PUT /api/items/{id}/` - 更新文章 - `DELETE /api/items/{id}/` - 删除文章 ### 搜索 API - `GET /api/search/` - 综合搜索 ## 🔐 权限说明 ### 用户角色 - **普通用户**: 只能浏览已发布的内容 - **管理员**: 拥有完整的内容管理权限 ### 权限控制 - 未登录用户可以浏览公开内容 - 管理员可以创建、编辑、删除内容 - API 使用 Token 认证 ## 🚀 部署指南 ### 生产环境部署 #### 1. 环境准备 - 配置 MySQL 数据库 - 设置 Redis 缓存(可选) - 准备域名和 SSL 证书 #### 2. 后端部署 ```bash # 使用 uWSGI + Nginx 部署 pip install uwsgi uwsgi --ini uwsgi.ini ``` #### 3. 前端部署 ```bash # 构建生产版本 npm run build # 使用 Nginx 提供静态文件服务 ``` #### 4. 反向代理配置 参考项目中的 `nginx.conf` 配置文件。 ## 🤝 贡献指南 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](LICENSE) 文件了解详情。 ## 📞 联系方式 如有问题或建议,请通过以下方式联系: - 提交 Issue - 发送邮件到 [your-email@example.com] ## 🙏 致谢 感谢以下开源项目: - [Django](https://www.djangoproject.com/) - [Django REST Framework](https://www.django-rest-framework.org/) - [Vue.js](https://vuejs.org/) - [Element Plus](https://element-plus.org/) --- ⭐ 如果这个项目对您有帮助,请给它一个星标!