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 页面,并查看用户数量。
最后更新于