diff --git a/README.md b/README.md index 5c951d6..11e6627 100644 --- a/README.md +++ b/README.md @@ -29,42 +29,38 @@ -#### 项目简介 +## 项目简介 Pear Admin Flask 基于 Flask 生态的后台管理系统,该项目旨在为 python 开发者提供一个快速开发前后端半分离的后台管理系统的模板 在使用本项目之前最好掌握以下知识点 -+ html、css、JavaScript -+ jQuery -+ layui -+ flask -+ flask-login -+ flask-sqlalchemy -+ flask-restful ++ [html、css、JavaScript](https://developer.mozilla.org/zh-CN/docs/Learn/HTML) ++ [jQuery](https://www.w3school.com.cn/jquery/index.asp) ++ [layui](https://www.layui.com/) ++ [flask](https://dormousehole.readthedocs.io/en/latest/) ++ [flask-login](https://flask-login.readthedocs.io/en/latest/) ++ [flask-sqlalchemy](http://www.pythondoc.com/flask-sqlalchemy/quickstart.html) ++ [flask-restful](https://flask-restful.readthedocs.io/en/latest/) +## 预览 Pear Admin Flask 有以下几个版本: [master分支版本 ](https://gitee.com/pear-admin/pear-admin-flask/tree/master/) -> flask 2.1 + flask-sqlalchemy + mysql + 权限验证 + Flask-APScheduler 定时任务 + marshmallow 序列化与数据验证 +>flask 2.x + flask-sqlalchemy + 权限验证 + Flask-APScheduler 定时任务 + marshmallow 序列化与数据验证 [Mini 分支版本 ](https://gitee.com/pear-admin/pear-admin-flask/tree/mini/) ->flask 2.1 + flask-sqlalchemy + sqllite + 权限验证 + Flask-RESTful 序列化与数据验证 +>flask 2.x + flask-sqlalchemy + 权限验证 + Flask-restful 序列化与数据验证 -[v1 分支版本(不再更新,仅供参考) ](https://gitee.com/pear-admin/pear-admin-flask/tree/v1/) +| | | +|---------------------|---------------------| +| ![](docs/assets/1.jpg) | ![](docs/assets/2.jpg) | +| ![](docs/assets/3.jpg)| ![](docs/assets/4.jpg) | +| ![](docs/assets/5.jpg) | ![](docs/assets/6.jpg) | ->flask 1.12 + flask-sqlalchemy + mysql + 权限验证 + marshmallow 序列化与数据验证 - -[simple 分支版本(不再更新,仅供参考) ](https://gitee.com/pear-admin/pear-admin-flask/tree/simple/) - ->flask 1.12 + flask-sqlalchemy + mysql + 极简权限 + marshmallow 序列化与数据验证 -> ->项目最简版本 - - -#### 内置功能 +## 内置功能 - [x] 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 - [x] 权限管理:配置系统菜单,操作权限,按钮权限标识等。 @@ -73,31 +69,14 @@ Pear Admin Flask 有以下几个版本: - [x] 登录日志:系统登录日志记录查询包含登录异常。 - [x] 文件上传: 图片上传示例 -#### 项目结构 -``` -Pear Admin Flask -├─applications # 应用 -│ ├─configs # 配置文件 -│ │ ├─ common.py # 普通配置 -│ │ └─ config.py # 配置文件对象 -│ ├─extensions # 注册插件 -│ ├─models # 数据模型 -│ ├─static # 静态资源文件 -│ ├─templates # 静态模板文件 -│ └─views # 视图部分 -│ ├─admin # 后台管理视图模块 -│ └─index # 前台视图模块 -├─docs # 文档说明(占坑) -├─migrations # 迁移文件记录 -├─requirement # 依赖文件 -├─test # 测试文件夹(占坑) -└─.env # 项目的配置文件 -``` +## 文档 +正在编写 -#### 项目启动 -##### 1. 下载源码 +## 安装使用 + ++ 下载源码 ```bash git clone https://gitee.com/pear-admin/pear-admin-flask @@ -105,7 +84,7 @@ git clone https://gitee.com/pear-admin/pear-admin-flask git checkout mini ``` -##### 2. 安装依赖 ++ 安装依赖 ```bash # 创建虚拟环境 python -m venv venv @@ -117,27 +96,18 @@ venv\Scripts\activate pip install -r requirement\requirement-dev.txt ``` -##### 3. 数据迁移 -默认的使用 `sqlite3` 作为开发环境的数据库进行演示,如果需要二次开发,建议改成 `mysql` 。 ++ 数据迁移 + +默认的使用 `sqlite3` 作为测试环境的数据库进行演示,不需要按照mysql即可查看演示。如果需要二次开发,建议改成 `mysql` 。 + +如果需要在开发环境使用 mysql 作为数据库,请查看 `applications/configs/config.py` 文件里面的相关配置文件, 注释掉 sqlite 的配置即可 + +如果需要修改数据的配置信息,请在 `.flaskenv` 里面调整即可 + ```bash flask db init flask db migrate -m '数据初始化' flask db upgrade flask init-db -``` - - -##### 4. 其他事项 - -如果需要在开发环境使用 mysql 作为数据库,请查看 `applications/configs/config.py` 文件里面的相关配置文件 - -如果需要修改数据的配置信息,请在 `.flaskenv` 里面调整即可 - -#### 预览项目 - -| | | -|---------------------|---------------------| -| ![](docs/assets/1.jpg) | ![](docs/assets/2.jpg) | -| ![](docs/assets/3.jpg)| ![](docs/assets/4.jpg) | -| ![](docs/assets/5.jpg) | ![](docs/assets/6.jpg) | \ No newline at end of file +``` \ No newline at end of file diff --git a/applications/common/curd.py b/applications/common/curd.py deleted file mode 100644 index 96c77c8..0000000 --- a/applications/common/curd.py +++ /dev/null @@ -1,5 +0,0 @@ -def model_to_dicts(Schema, model): - # 如果是分页器返回,需要传入model.items - common_schema = Schema(many=True) # 用已继承ma.ModelSchema类的自定制类生成序列化类 - output = common_schema.dump(model) # 生成可序列化对象 - return output diff --git a/applications/common/utils/validate.py b/applications/common/utils/validate.py deleted file mode 100644 index cf00959..0000000 --- a/applications/common/utils/validate.py +++ /dev/null @@ -1,12 +0,0 @@ -# xss过滤 -from flask import abort, make_response, jsonify - - -def check_data(schema, data): - errors = schema.validate(data) - for k, v in errors.items(): - for i in v: - # print("{}{}".format(k, i)) - msg = "{}{}".format(k, i) - if errors: - abort(make_response(jsonify(result=False, msg=msg), 200)) diff --git a/applications/models/__init__.py b/applications/models/__init__.py index 1324d8f..329aa67 100644 --- a/applications/models/__init__.py +++ b/applications/models/__init__.py @@ -1,4 +1,4 @@ -from applications.models.company import Dept, User +from applications.models.users import Dept, User from applications.models.log import AdminLog from applications.models.file.photo import Photo from applications.models.rights.power import Power diff --git a/applications/models/company/__init__.py b/applications/models/users/__init__.py similarity index 100% rename from applications/models/company/__init__.py rename to applications/models/users/__init__.py diff --git a/applications/models/company/dept.py b/applications/models/users/dept.py similarity index 100% rename from applications/models/company/dept.py rename to applications/models/users/dept.py diff --git a/applications/models/company/users.py b/applications/models/users/users.py similarity index 100% rename from applications/models/company/users.py rename to applications/models/users/users.py diff --git a/applications/templates/admin/department/edit.html b/applications/templates/admin/department/edit.html index c07042b..017a043 100644 --- a/applications/templates/admin/department/edit.html +++ b/applications/templates/admin/department/edit.html @@ -100,7 +100,7 @@ // 当点击更新之后,获取数据 form.on('submit(dept-update)', function (data) { $.ajax({ - url: '/dept/edit' + data.field.deptId, + url: '/dept/edit/' + data.field.deptId, data: JSON.stringify(data.field), dataType: 'json', contentType: 'application/json', diff --git a/applications/view/department/__init__.py b/applications/view/department/__init__.py index c23354d..9f5082d 100644 --- a/applications/view/department/__init__.py +++ b/applications/view/department/__init__.py @@ -7,8 +7,6 @@ from applications.common.utils.rights import authorize from applications.extensions import db from applications.models import Dept, User -# from applications.view.company.department import dept_curd - dept_bp = Blueprint('dept', __name__, url_prefix='/dept') dept_api = Api(dept_bp)