项目简介
本项目是一个简单的内容管理系统生成器。前端运用 Layui 框架,后端采用 Flask、Peewee 和 Flask - Peewee 框架。用户可通过简单操作动态创建资源模型,系统会自动为这些模型创建数据库表以及对应的增删改查页面,有效降低开发成本并提高开发效率。
项目的主要特性和功能
- 动态资源模型创建:用户能在页面上添加资源模型,程序自动创建数据库表和相关页面。
- 代码生成功能:可生成资源添加、编辑、列表和查看页面的代码。
- 自定义框架修改:继承修改 Flask - Peewee 的 RestResource 类,以适配 Layui table 的数据要求。
安装使用步骤
配置数据库
下载项目源码文件后,打开 app.py
,修改数据库参数,示例如下:
python
DATABASE = {
'name': 'gcl',
'engine': 'peewee.MySQLDatabase',
'user': 'root',
'passwd': 'gcl',
}
启动项目
在命令行中,进入项目目录,运行以下命令启动项目:
bash
python app.py
创建资源模型
- 打开浏览器,访问
127.0.0.1:5000
。 - 点击侧边栏按钮 “添加资源模型”。
- 在操作页面添加资源模型。
- 重启
app.py
,程序会自动为添加的资源创建数据库表和增删改查页面。 - 再次进入
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
```
解决已知问题
- 若遇到
flask - peewee
更新 API 跳转问题,将 API 修改为post:/api/book/
(多加一个/
)。 - 对于
flask - peewee
的post
和put
更新数据只能接受 JSON 提交表单的问题,可使用jquery.ajax
指定contentType
为application/json
或text/plain
,并确保data
是 JSON 格式。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】