首页主机资讯ubuntu中sqladmin如何使用插件

ubuntu中sqladmin如何使用插件

时间2025-12-18 12:40:04发布访客分类主机资讯浏览1134
导读: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 版的插件式用法

  • 安装与最小示例

    1. 安装包:pip install sqladmin
    2. 最小应用骨架:
    # 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,即可组合成一套后台“插件集”
        示例(继续上面的代码):
    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
如何使用Linux DHCP服务进行网络管理 DHCP服务器故障排查:Linux环境下的解决方案

游客 回复需填写必要信息