@@ -27,13 +27,14 @@
|
|||||||
<img width="92%" style="border-radius:10px;margin-top:20px;margin-bottom:20px;box-shadow: 2px 0 6px gray;" src="https://images.gitee.com/uploads/images/2020/1019/104805_042b888c_4835367.png" />
|
<img width="92%" style="border-radius:10px;margin-top:20px;margin-bottom:20px;box-shadow: 2px 0 6px gray;" src="https://images.gitee.com/uploads/images/2020/1019/104805_042b888c_4835367.png" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
#### 项目简介
|
# 项目简介
|
||||||
|
|
||||||
Pear Admin Flask 基于 Flask 的后台管理系统,拥抱应用广泛的python语言,通过使用本系统,即可快速构建你的功能业务
|
Pear Admin Flask 基于 Flask 的后台管理系统,拥抱应用广泛的python语言,通过使用本系统,即可快速构建你的功能业务
|
||||||
项目旨在为 python 开发者提供一个后台管理系统的模板,可以快速构建信息管理系统。
|
项目旨在为 python 开发者提供一个后台管理系统的模板,可以快速构建信息管理系统。
|
||||||
项目使用flask-sqlalchemy + 权限验证 + marshmallow 序列化与数据验证
|
|
||||||
|
|
||||||
#### 内置功能
|
项目使用 flask-sqlalchemy + 权限验证 + marshmallow 序列化与数据验证,以此方式集成了若干不同的功能。
|
||||||
|
|
||||||
|
# 内置功能
|
||||||
|
|
||||||
- [x] 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
|
- [x] 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
|
||||||
- [x] 权限管理:配置系统菜单,操作权限,按钮权限标识等。
|
- [x] 权限管理:配置系统菜单,操作权限,按钮权限标识等。
|
||||||
@@ -43,17 +44,33 @@ Pear Admin Flask 基于 Flask 的后台管理系统,拥抱应用广泛的pytho
|
|||||||
- [x] 服务监控:监视当前系统CPU、内存、磁盘、python版本,运行时长等相关信息。
|
- [x] 服务监控:监视当前系统CPU、内存、磁盘、python版本,运行时长等相关信息。
|
||||||
- [x] 文件上传: 图片上传示例
|
- [x] 文件上传: 图片上传示例
|
||||||
|
|
||||||
|
# 项目分支说明
|
||||||
|
|
||||||
#### 项目结构
|
> **⚠️注意** Pear Admin Flask 不仅仅只提供一种对于 Pear Admin 后端的实现方式,所以提供了不同的分支版本,不同分支版本各有其优劣,并且由不同的开发者维护。
|
||||||
|
|
||||||
|
| 分支名称 | 特点 |
|
||||||
|
|------------------------------------------------------------------|------------------------|
|
||||||
|
| master(您目前浏览的分支版本) | 功能齐全,处于开发阶段,代码量较大。 |
|
||||||
|
| [main](https://gitee.com/pear-admin/pear-admin-flask/tree/main/) | 功能精简,代码量小,处于开发阶段,易于维护。 |
|
||||||
|
| [mini](https://gitee.com/pear-admin/pear-admin-flask/tree/mini/) | 不再更新,是最初版本的镜像。 |
|
||||||
|
|
||||||
|
|
||||||
|
> **⚠️注意** 由于 master 分支项目需要,暂时移除了 Flask-APScheduler 定时任务 功能。
|
||||||
|
|
||||||
|
# 版本支持情况
|
||||||
|
|
||||||
|
经过测试,此项目的(master分支)运行要求是 `>= Python 3.8` ,推荐使用 `Python 3.9`。
|
||||||
|
|
||||||
|
> **💡提示** 由于 Flask 中使用的 Werkzeug 模块更新,Flask 官方并未进行更新,所以可能会出现 ImportError 。
|
||||||
|
> 此类情况的出现可以通过正确安装 `requirements.txt` 中的模块(以及其对应版本)解决。
|
||||||
|
|
||||||
|
# 项目结构
|
||||||
|
|
||||||
## 应用结构
|
## 应用结构
|
||||||
|
|
||||||
```应用结构
|
```应用结构
|
||||||
Pear Admin Flask
|
Pear Admin Flask
|
||||||
├─applications # 应用
|
├─applications # 应用
|
||||||
│ ├─configs # 配置文件
|
|
||||||
│ │ ├─ common.py # 普通配置
|
|
||||||
│ │ └─ config.py # 配置文件对象
|
|
||||||
│ ├─extensions # 注册插件
|
│ ├─extensions # 注册插件
|
||||||
│ ├─models # 数据模型
|
│ ├─models # 数据模型
|
||||||
│ ├─static # 静态资源文件
|
│ ├─static # 静态资源文件
|
||||||
@@ -92,95 +109,115 @@ Pear Admin Flask
|
|||||||
└─index # 主页模板
|
└─index # 主页模板
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 项目安装
|
# 项目安装
|
||||||
|
|
||||||
|
## 从仓库获取
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 下 载
|
# 克隆仓库 / 手动下载
|
||||||
git clone https://gitee.com/pear-admin/pear-admin-flask
|
git clone https://gitee.com/pear-admin/pear-admin-flask
|
||||||
|
cd pear-admin-flask # 进入到项目目录
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 修改配置
|
## 修改配置
|
||||||
|
|
||||||
|
> **💡提示** 配置文件位于 `applications/config.py` ,打开配置文件看到的是位于 `BaseConfig` 类下的默认配置文件,您可以编写自己的配置类并继承 `BaseConfig` 类。
|
||||||
|
项目启动时,会调用 `applications/__init__.py` ,这个文件中加载了程序的配置,所以在您编写了自己的类后不要忘记在文件 `applications/__init__.py` 中修改使用的配置类。
|
||||||
|
|
||||||
|
> **⚠️注意** 配置文件中对于数据库的配置有所更改,请查看代码中的注释修改配置。
|
||||||
|
|
||||||
```python
|
```python
|
||||||
# MySql配置信息
|
# 部分配置信息如下所示
|
||||||
MYSQL_HOST=127.0.0.1
|
|
||||||
MYSQL_PORT=3306
|
|
||||||
MYSQL_DATABASE=PearAdminFlask
|
|
||||||
MYSQL_USERNAME=root
|
|
||||||
MYSQL_PASSWORD=root
|
|
||||||
|
|
||||||
# 密钥配置
|
# 验证密钥(⚠️ 一定要记得修改 ⚠️)
|
||||||
SECRET_KEY='一定要修改!!!'
|
SECRET_KEY = "pear-system-flask"
|
||||||
|
|
||||||
# 邮箱配置
|
# 数据库的配置信息
|
||||||
MAIL_SERVER='smtp.qq.com'
|
SQLALCHEMY_DATABASE_URI = 'sqlite:///../pear.db'
|
||||||
MAIL_USERNAME='123@qq.com'
|
|
||||||
MAIL_PASSWORD='XXXXX' # 生成的授权码
|
# 默认日志等级
|
||||||
|
LOG_LEVEL = logging.WARN
|
||||||
|
|
||||||
|
# flask-mail配置
|
||||||
|
MAIL_SERVER = 'smtp.qq.com'
|
||||||
|
MAIL_USE_TLS = False
|
||||||
|
MAIL_USE_SSL = True
|
||||||
|
MAIL_PORT = 465
|
||||||
|
MAIL_USERNAME = '123@qq.com'
|
||||||
|
MAIL_PASSWORD = 'XXXXX' # 生成的授权码
|
||||||
|
MAIL_DEFAULT_SENDER = MAIL_USERNAME
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Venv 安装
|
|
||||||
|
## 虚拟环境安装项目(推荐)
|
||||||
|
|
||||||
|
> **💡提示** 为了保证项目所依赖的库不影响其他部署在同一主机上的项目,我们推荐使用虚拟环境安装。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
python -m venv venv
|
python -m venv venv
|
||||||
|
|
||||||
# 进入虚拟环境下
|
# 进入虚拟环境下
|
||||||
|
venv\Scripts\activate.bat # Windows 提示命令符
|
||||||
|
venv\Scripts\Activate.ps1 # Windows Powershell
|
||||||
|
. venv/bin/activate # Linux
|
||||||
|
|
||||||
|
# 使用 pip 安装
|
||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
```
|
```
|
||||||
|
|
||||||
#### 运行项目
|
## 直接安装项目
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 初 始 化 数 据 库
|
# 使用 pip 安装
|
||||||
|
pip install -r requirements.txt
|
||||||
|
# 同时你可以选择以模块的方式调用 pip
|
||||||
|
python -m pip install -r requirements.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
# 运行项目
|
||||||
|
|
||||||
|
+ 一般情况运行项目
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 初始化数据库
|
||||||
flask db init
|
flask db init
|
||||||
flask db migrate
|
flask db migrate
|
||||||
flask db upgrade
|
flask db upgrade
|
||||||
flask admin init
|
flask admin init
|
||||||
|
|
||||||
# windows改为bat
|
# 运行项目
|
||||||
./run.sh
|
flask --app app.py run -h 0.0.0.0 -p 8000 --debug
|
||||||
|
|
||||||
|
# 或者直接调用 app.py
|
||||||
|
python app.py
|
||||||
```
|
```
|
||||||
|
|
||||||
|
+ 使用 docker-compose 运行项目
|
||||||
|
|
||||||
|
|
||||||
#### 使用docker-compose运行项目
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://gitee.com/pear-admin/pear-admin-flask
|
git clone https://gitee.com/pear-admin/pear-admin-flask
|
||||||
|
|
||||||
#安装docker-compose
|
# 安装 docker-compose
|
||||||
curl -L https://github.com/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
|
curl -L https://github.com/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
|
||||||
chmod +x /usr/local/bin/docker-compose
|
chmod +x /usr/local/bin/docker-compose
|
||||||
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
|
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
|
||||||
|
|
||||||
#运行如下命令,有输入版本,表示docker-compose 可以用了
|
# 运行如下命令,有输出版本,表示 docker-compose 可以用了
|
||||||
docker-compose --version
|
docker-compose --version
|
||||||
|
|
||||||
#在当前目录执行如下命令即可以运行app
|
# 在当前目录执行如下命令即可以运行 app
|
||||||
docker-compose -f dockercompose.yaml up
|
docker-compose -f dockercompose.yaml up
|
||||||
|
|
||||||
#看到如下表示运行成功,由于pip下载慢,需要一些时间,请耐心等待;如果安装失败,重新执行上面的命令即可。
|
# 看到如下表示运行成功,由于 pip 下载慢,需要一些时间,请耐心等待;如果安装失败,重新执行上面的命令即可。
|
||||||
|
|
||||||
#运行后在浏览器访问127.0.0.1:5000
|
# 运行后在浏览器访问 127.0.0.1:5000
|
||||||
|
|
||||||
#如果要停止容器运行,在当前文件夹执行如下命令:
|
#如果要停止容器运行,在当前文件夹执行如下命令:
|
||||||
docker-compose -f dockercompose.yaml dwon
|
docker-compose -f dockercompose.yaml down
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Pear Admin Flask 还有以下版本:
|
|
||||||
|
|
||||||
|
# 预览项目
|
||||||
|
|
||||||
|
|
||||||
**[mini 分支版本](https://gitee.com/pear-admin/pear-admin-flask/tree/mini/)**
|
|
||||||
不再更新
|
|
||||||
|
|
||||||
**[main 分支版本](https://gitee.com/pear-admin/pear-admin-flask/tree/main/)**
|
|
||||||
main 分支是对 mini 分支的后续,目前还在开发中。
|
|
||||||
|
|
||||||
#### 预览项目
|
|
||||||
|
|
||||||
| | |
|
| | |
|
||||||
| ---------------------- | ---------------------- |
|
| ---------------------- | ---------------------- |
|
||||||
@@ -189,3 +226,17 @@ main 分支是对 mini 分支的后续,目前还在开发中。
|
|||||||
|  |  |
|
|  |  |
|
||||||
|
|
||||||
|
|
||||||
|
# 其他说明
|
||||||
|
|
||||||
|
## 项目初始用户以及其密码
|
||||||
|
|
||||||
|
默认用户为 `admin` ,密码默认为 `123456` 。
|
||||||
|
|
||||||
|
## 其他开发说明链接
|
||||||
|
|
||||||
|
+ Pear Admin Flask [目录结构](list.md) 章节
|
||||||
|
+ Pear Admin Flask [开发函数](function.md) 章节
|
||||||
|
+ Pear Admin Flask [插件开发](plugin.md) 章节
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user