Working with Custom Views

基本示例

您可能需要向现有的 SQLAdmin 视图中添加自定义视图,例如创建仪表板、显示自定义信息或添加新表单。

要向管理员界面添加自定义视图,您可以使用 SQLAdmin 中包含的 BaseView。以下是添加自定义视图的示例:

示例

from sqladmin import BaseView, expose

class ReportView(BaseView):
    name = "报告页面"
    icon = "fa-solid fa-chart-line"

    @expose("/report", methods=["GET"])
    async def report_page(self, request):
        return await self.templates.TemplateResponse(request, "report.html")

admin.add_view(ReportView)

这假设您的项目中有一个 templates 目录,并且在该目录中创建了 report.html 文件。

如果您想使用自定义的目录名称,可以这样更改:

from sqladmin import Admin

admin = Admin(templates_dir="my_templates", ...)

现在访问 /admin/report,您就可以渲染您的 report.html 文件。

数据库访问

上面的示例非常基础,您可能希望在自定义视图中访问数据库和 SQLAlchemy 模型。您可以像 SQLAdmin 使用 sessionmaker 一样使用它来实现这一点:

示例

接下来,我们更新 templates 目录中的 report.html 文件,内容如下:

示例

现在运行您的服务器,您可以访问 /admin/report 页面,并查看用户数量。

最后更新于