You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

集成FastAPI-admin时访问/admin路由出现404错误求助

解决FastAPI-admin /admin路由404问题

问题根源

你代码里错误挂载了admin_app.router,但FastAPI-admin导出的app本身是独立的FastAPI实例,而非单纯的路由对象,直接挂载router会导致admin的路由无法被正确识别。另外,缺少FastAPI-admin的必要初始化配置,也会导致后台路由无法正常加载。

修复方案

1. 修正挂载方式

替换原挂载代码:

# 错误写法
app.mount("/admin", admin_app.router)

# 正确写法
app.mount("/admin", admin_app)

2. 补充FastAPI-admin初始化逻辑

需要在启动事件中完成admin的配置初始化,包括登录凭证、后台信息,以及注册需要管理的模型。调整后的完整示例代码:

from fastapi import FastAPI
from fastapi_admin.app import app as admin_app
from fastapi_admin.providers.login import UsernamePasswordProvider
from tortoise.contrib.fastapi import register_tortoise
from config.db import init_db, TORTOISE_ORM
from config.endpoints import api_router
from config.settings import settings
# 导入你需要在admin后台管理的模型,例如:
# from your_app.models import User, Product

app = FastAPI(title=settings.PROJECT_NAME)

register_tortoise(app, config=TORTOISE_ORM, generate_schemas=True)

@app.on_event("startup")
async def startup():
    await init_db(app)
    # 初始化admin后台配置
    await admin_app.configure(
        title=settings.PROJECT_NAME + " Admin",
        logo_url="https://fastapi-admin.long2ice.io/img/logo.png",
        login_provider=UsernamePasswordProvider(
            # 测试用凭证,生产环境建议从配置文件读取
            credentials={"admin": "your_admin_password"},
        ),
    )
    # 注册需要管理的模型
    # await admin_app.register(User)
    # await admin_app.register(Product)

# 挂载admin应用
app.mount("/admin", admin_app)
# 挂载业务路由
app.include_router(api_router)

3. 验证依赖与版本

确保安装的FastAPI-admin版本与官方文档匹配,执行命令检查版本:

pip show fastapi-admin

若版本过旧,更新到最新稳定版:

pip install -U fastapi-admin

4. 确认路由加载状态

启动服务后访问/docs,查看是否有/admin前缀的路由被注册。如果仍未出现,检查你的模型是否正确继承了Tortoise的Model类,且在TORTOISE_ORM配置的models列表中包含了这些模型。

内容的提问来源于stack exchange,提问作者dinadis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 04:42:11