Skip to content

模板管理

在某些情况下,amis页面可能并不方便实现你的复杂界面展示,或者你更加倾向于使用模板渲染方式展示管理页面.这时你可以使用TemplateAdmin 实现你的需求.

示例

在根目录下创建模板目录templates,并在模板目录创建simple.html文件,内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Current Time</title>
</head>
<body>
    <h1>Current Time</h1>
    <p>The current time is: {{ current_time }}</p>
</body>
</html>

from fastapi_amis_admin.admin.admin import Jinja2Templates
import datetime
from typing import Dict

@site.register_admin
class SimpleTemplateAdmin(admin.TemplateAdmin):
    page_schema = PageSchema(label='SimpleTemplate', icon='fa fa-link')
    templates: Jinja2Templates = Jinja2Templates(directory='templates')
    template_name = 'simple.html'

    async def get_page(self, request: Request) -> Dict[str, Any]:
        return {'current_time': datetime.datetime.now()}

配置模板引擎

通过templates字段配置Jinja2模板引擎.

配置模板文件

通过template_name字段配置Jinja2模板文件.

页面渲染数据

通过get_page方法获取页面渲染数据.

更多用法

相关文档