ubuntu中sqladmin如何使用插件
导读:Ubuntu 下 SQLAdmin 使用插件的实用指南 先确认你使用的 SQLAdmin 类型 SQLAdmin(Python):基于 FastAPI/Starlette + SQLAlchemy,界面基于 Tabler,通过定义 Mod...
Ubuntu 下 SQLAdmin 使用插件的实用指南
先确认你使用的 SQLAdmin 类型
- SQLAdmin(Python):基于 FastAPI/Starlette + SQLAlchemy,界面基于 Tabler,通过定义 ModelView 来扩展管理功能,严格意义上通过“插件/扩展”机制增强。
- MySQL GUI Tools 的 MySQL Administrator(旧版桌面 GUI):传统桌面应用,Ubuntu 旧版本仓库可安装,功能固定,基本不支持现代插件体系。
- Web 类 phpMyAdmin 等:若你说的是这类工具,它们有插件/扩展机制,但与 SQLAdmin(Python)完全不同。
以上三类在 Ubuntu 上都可能被口语化称作“sqladmin”,请先确认你手头的是哪一类,再按下述对应方法操作。
SQLAdmin Python 版的插件式用法
-
安装与最小示例
- 安装包:pip install sqladmin
- 最小应用骨架:
# main.py from fastapi import FastAPI from sqladmin import Admin, ModelView from sqlalchemy import Column, Integer, String, create_engine from sqlalchemy.orm import declarative_base Base = declarative_base() engine = create_engine("sqlite:///example.db", connect_args={ "check_same_thread": False} ) class User(Base): __tablename__ = "users" id = Column(Integer, primary_key=True) name = Column(String) Base.metadata.create_all(engine) app = FastAPI() admin = Admin(app, engine) class UserAdmin(ModelView, model=User): column_list = [User.id, User.name] # 列展示 # 可继续添加:form_columns、column_searchable_list、column_filters 等 admin.add_view(UserAdmin)运行后访问 /admin 即可进入后台。上述“通过 ModelView 添加视图”的方式,就是 SQLAdmin 的“插件化/扩展点”。
-
常用扩展点(相当于“插件”能力)
- 列表与表单控制
- column_list:列表展示字段
- form_columns / form_excluded_columns:表单可编辑/排除字段
- column_searchable_list / column_filters:搜索与过滤字段
- 权限与可操作性
- can_create / can_edit / can_delete / can_view_details:细粒度权限
- 覆盖行为
- on_model_change / on_model_delete:保存前后钩子,用于自定义校验、日志、同步等
- 多模型与多视图
- 为不同模型分别定义 ModelView 并 admin.add_view,即可组合成一套后台“插件集”
示例(继续上面的代码):
- 为不同模型分别定义 ModelView 并 admin.add_view,即可组合成一套后台“插件集”
class UserAdmin(ModelView, model=User): column_list = [User.id, User.name] can_create = True can_edit = True can_delete = True form_columns = ["name"] # 只开放 name 编辑 column_searchable_list = [User.name] column_filters = [User.name] def on_model_change(self, form, model, is_created): # 例如:自动规范化名称 model.name = (model.name or "").strip()通过组合多个 ModelView 并在 admin 中注册,即可像“插件”一样为不同业务模块提供独立的管理界面与能力。
- 列表与表单控制
MySQL Administrator 或 phpMyAdmin 的情况
- MySQL Administrator(旧版桌面 GUI):这是 MySQL GUI Tools 套件中的桌面程序,Ubuntu 旧版本可通过 apt 安装(如 sudo apt-get install mysql-admin),但该工具功能固定、社区维护弱,基本没有现代意义上的插件体系;若需要插件化与更丰富功能,建议改用 Web 方案或 SQLAdmin(Python)。
- phpMyAdmin(Web):如果你实际使用的是它,它有插件/扩展机制(如通过自定义主题、插件目录、配置开关等),但与 SQLAdmin(Python)无关,部署与启用方式也不同。请明确工具名称再选择对应方案。
实践建议
- 明确你的“sqladmin”具体是哪一类工具;若是 SQLAdmin(Python),优先用“定义多个 ModelView 并注册到 Admin”的方式来扩展功能,这是官方推荐且最稳妥的“插件化”路径。
- 权限与安全:后台只暴露必要模型与操作,配合 FastAPI 的依赖注入做鉴权(如依赖获取当前用户并校验权限),避免把全量模型一股脑加入 Admin。
- 可维护性:将不同业务模块的 ModelView 拆分到独立模块/文件,随业务增长逐步“插件化”组合到 Admin 实例中。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu中sqladmin如何使用插件
本文地址: https://pptw.com/jishu/774988.html
