一文讲清怎么利用Python+Flask创建美观实用的CMS内容管理系统

deer332025-09-05技术文章34

摘要:本文将使用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)查看仪表盘,如下图