有人尝试将 sqlalchemy admin 添加到 FastAPI 路由器而不是 main 吗?

问题描述 投票:0回答:1

我尝试将 sqlalchemy 管理添加到 FastAPI 路由器,因为它被提到为全功能应用程序(路由器),通过尝试这个

admin_router = APIRouter(prefix="/admin")
admin = Admin(admin_router, engine, base_url="/admin_panel")
admin.add_view(LessonAdmin)

但是,sqlalchemy 管理员想要使用

admin = Admin(app, engine, base_url="/admin_panel")
admin.add_view(LessonAdmin)

语法否则不显示。 我想将其添加到路由器而不是主路由器的原因是我已经实现了授权并且它运行良好。 类似的东西..

user_router.include_router(
    lessons.router, dependencies=[Security(get_current_active_user)]
)

给我所有必要范围的授权。 这样就很容易了。 有人尝试过吗? (sqlalchemy 管理员)

我尝试将 sqlalchemy admin 连接到路由器而不是主应用程序。 管理员没有显示。

authentication dependencies
1个回答
0
投票

如果您谈论的是

sqladmin
,从技术上讲,它在
Starlette
实例上运行(
FastAPI
是其中的子类),因此它无法与
APIRouter
一起使用。由于它使用
Starlette
,因此它不会触发 FastAPI 依赖关系。您可能会在
sqladmin
的身份验证
中实现您的身份验证,或者将您的身份验证重新实现为中间件。

© www.soinside.com 2019 - 2024. All rights reserved.