Simple and extensible administrative interface framework for Flask
当前访问频次受限,请登录后继续访问
Flask-Admin
Flask-Admin 现已加入 Pallets-Eco,这是一个由 Pallets 团队管理的开源组织,旨在促进 Flask 扩展的社区维护。请将您的代码库引用更新为 https://github.com/pallets-eco/flask-admin.git。
Pallets 社区生态系统
\
本项目是 Pallets 社区生态系统的一部分。Pallets 是维护 Flask 的开源组织;Pallets-Eco 支持相关项目的社区维护。如果您有兴趣帮助维护此项目,请通过 Pallets Discord 服务器 联系我们。
简介
Flask-Admin 是一个功能完备、易于使用的 Flask 扩展,可让您为 Flask 应用程序添加管理界面。它的灵感来源于 django-admin 包,但其实现方式使开发者能够完全控制最终应用程序的外观、感觉、功能和用户体验。
Flask-Admin 开箱即用地支持多种 ORM,包括
它还提供了简单的文件管理界面和 Redis 客户端 控制台。
Flask-Admin 最大的特点是其灵活性。它旨在提供一套简单的工具,用于构建任何复杂程度的管理界面。起初,您可以快速创建一个非常简单的应用程序,为每个模型自动生成 CRUD 视图。然后,您可以根据需要进一步自定义这些视图和表单。
Flask-Admin 是一个活跃的项目,经过充分测试且可用于生产环境。
示例
/examples 文件夹中包含了多个使用示例。欢迎添加您自己的示例,或改进现有示例,并提交 pull-request。
如何运行示例
克隆仓库并导航到某个示例(本示例中我们使用 SQLAlchemy 示例):
git clone https://github.com/pallets-eco/flask-admin.git
cd flask-admin/examples/sqla
所有示例均使用
uv来管理其依赖项和开发环境。
使用 uv 运行示例,它将自动管理环境和依赖项:
uv run main.py
检查在 http://localhost:5000 上运行的 Flask 应用。
文档
Flask-Admin 有着详尽的文档,您可以在 https://flask-admin.readthedocs.io/en/latest/ 找到所有文档。
这些文档是由 /doc 文件夹中的 .rst 文件自动生成的。如果您发现任何错误,或者认为有其他内容应该被包含在内,欢迎进行修改并提交 pull-request。
要在本地环境中构建文档,请从项目目录执行以下操作:
tox -e docs
安装
若要使用 pip 安装 Flask-Admin,只需执行以下命令:
pip install flask-admin
贡献指南
如果你是一名致力于开发和维护 Flask-Admin 的开发者,请通过以下方式检出代码库:
git clone https://github.com/pallets-eco/flask-admin.git
cd flask-admin
Flask-Admin 使用 uv 来管理其依赖项和开发环境。在检出代码仓库后,若要安装 Flask-Admin 支持的最低版本 Python、创建虚拟环境并安装所需依赖项,请运行:
uv sync
这将安装 Flask-Admin,但不会包含任何可选的额外依赖项,例如用于 sqlalchemy 或 mongoengine 支持的依赖。要安装所有额外功能,请运行:
uv sync --extra all
最后,启用 pre-commit 钩子:
pre-commit install
测试
测试通过 pytest 运行。如果你不熟悉这个包,可以在 其官方网站 上了解更多信息。
在开发容器内运行测试(例如使用 VS Code 时)
如果你使用开发容器配置进行开发,可以通过以下任一命令直接运行测试。
若要使用默认的 Python 安装运行测试套件,请使用:
uv run pytest
要针对所有受支持的 Python 版本运行测试套件,并执行 CI 所进行的其他检查,请使用:
uv run tox
通过 docker-compose run / make test 一次性运行测试
如果不使用开发容器,你可以通过 Docker 运行测试(你需要自行安装和设置 Docker)。然后你可以使用:
make test-in-docker
这将使用开发容器 docker-compose 配置来启动 postgres、azurite 和 mongo。
你也可以运行完整的测试套件,包括 CI 检查,命令如下:
make tox-in-docker
第三方资源
Flask-Admin 的构建借助了 Bootstrap、 Select2 和 Bootswatch。
如果您想对应用进行本地化,请安装 Flask-Babel 包。
您可以通过提交 PR 来帮助改进 Flask-Admin 的翻译。
作为修改过 Flask-Admin 中某些文本的开发者
uv sync --group docs
cd babel
./babel.sh --update
作为更新过一些 .po/.mo 文件的翻译者
运行 cd babel
运行 ./babel.sh