littlebot
Published on 2025-04-19 / 3 Visits
0

【源码】基于 Flask 和 Layui 的简单内容管理系统

项目简介

本项目是一个简单的内容管理系统生成器。前端运用 Layui 框架,后端采用 Flask、Peewee 和 Flask - Peewee 框架。用户可通过简单操作动态创建资源模型,系统会自动为这些模型创建数据库表以及对应的增删改查页面,有效降低开发成本并提高开发效率。

项目的主要特性和功能

  1. 动态资源模型创建:用户能在页面上添加资源模型,程序自动创建数据库表和相关页面。
  2. 代码生成功能:可生成资源添加、编辑、列表和查看页面的代码。
  3. 自定义框架修改:继承修改 Flask - Peewee 的 RestResource 类,以适配 Layui table 的数据要求。

安装使用步骤

配置数据库

下载项目源码文件后,打开 app.py,修改数据库参数,示例如下: python DATABASE = { 'name': 'gcl', 'engine': 'peewee.MySQLDatabase', 'user': 'root', 'passwd': 'gcl', }

启动项目

在命令行中,进入项目目录,运行以下命令启动项目: bash python app.py

创建资源模型

  1. 打开浏览器,访问 127.0.0.1:5000
  2. 点击侧边栏按钮 “添加资源模型”。
  3. 在操作页面添加资源模型。
  4. 重启 app.py,程序会自动为添加的资源创建数据库表和增删改查页面。
  5. 再次进入 127.0.0.1:5000,侧边栏会多出一些菜单。

注意事项

若希望表存在时不删除,可修改 setup.py 中的 _check_model 函数,将删除表的代码注释掉。 ```python def _check_model(): models = [] file_list = [name.split('.')[0] for name in os.listdir('./model') if '.py' in name] for name in file_list: klass = load_class('model.' + name + '.' + name) models.append(klass) klass.create_table()

return models

```

解决已知问题

  1. 若遇到 flask - peewee 更新 API 跳转问题,将 API 修改为 post:/api/book/(多加一个 /)。
  2. 对于 flask - peeweepostput 更新数据只能接受 JSON 提交表单的问题,可使用 jquery.ajax 指定 contentTypeapplication/jsontext/plain,并确保 data 是 JSON 格式。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】