一文讲清怎么利用Python+Flask创建美观实用的CMS内容管理系统
摘要:本文将使用Python和Flask框架,搭建一个美观实用的CMS内容管理系统。稳重将会用CSS统一所有页面的布局和风格,确保界面整洁专业。后端连接本地MySQL数据库,安全存储文章、用户等信息。系统不仅支持内容发布,还内置数据分析功能,可以利用Matplotlib和Plotly生成动态图表,在管理后台的仪表盘中直观展示网站访问量、用户行为等关键数据。
文章步骤清晰,代码示例详细,带领读者用Python和Flask框架,轻松搭建一个美观但功能完整的CMS内容管理系统,使用 MySQL 作为数据库,实现系统的前后台分离,前台用于展示内容,后台供管理员管理内容。
详细内容请参考下文。
一、CMS系统功能介绍
1.CMS系统的两大模块
(1)前台展示页:公众访问,浏览文章。
(2)后台管理页:管理员登录后可添加、编辑、删除文章,并支持导入Word(.docx)和PDF文件。
(3)数据仪表盘:展示文章数量、访问趋势等可视化图表。
2.CMS系统的关键技术
(1)前端:HTML + CSS
(2)后端:Python + Flask
(3)数据库:MySQL(数据库名 cms_db)
(4)图表展示:Python的Matplotlib和Plotly库
(5)文件处理:Python-docx 解析Word文档, pdfplumber 提取PDF文本
二、CMS系统目录结构
说明:项目的目录结构清晰划分了代码、模板和静态资源,包含主程序、配置、数据库模块、前后台页面模板及样式文件。
三、Mysql数据库设计
1.创建数据库
-- 创建数据库cms_db
执行指令> CREATE DATABASE cms_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
2.创建数据表
-- 创建文章表articles
执行指令> CREATE TABLE articles (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(200) NOT NULL,
content TEXT NOT NULL,
image_url VARCHAR(500),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
四、CMS系统程序设计
1.设计配置文件config.py
2.设计数据模型models.py
3.设计主程序app.py
五、CMS系统程序使用指南
说明:管理员先登录后台发布文章,或者通过上传Word或PDF文件导入内容,再发布文章,最后访客就能在前台首页看到并点击阅读已经发布的文章图文内容。
1.服务端运行系统
2.客户端访问系统
(1)前台查看文章列表和文章详情
- 通过服务器IP地址访问系统
- 点击相关文件标题或者图片查看文章详情
(2)后台管理可以发表新文章、修改已发布的文章
- 选择【登录】按钮可以切换到后台管理界面
- 输入管理员账号和密码登录后台
- 选择【添加新文章】发布新文章,支持word或者pdf格式文件导入。如下图
- 点击“浏览”按钮,选择docx格式文章,然后点击【导入文件】导入docx格式文件。如下图
- 点击【发布文章】。如下图
- 查看刚才发布的新文章。如下图
(3)查看仪表盘,如下图